J'ai un site Web .NET 3.5 qui appelle des milliers de processus stockés différents en utilisant Microsoft.Practices.EnterpriseLibrary.Définir le niveau d'isolation par défaut pour Microsoft.Practices.EnterpriseLibrary
Nous avons eu beaucoup de timeouts et après avoir joué et testé l'utilisation de (nolock) à la fin de la table, rejoindre procs stocké fonctionne très bien et réduit les délais.
Je veux maintenant faire cela à tous les sps. Je pourrais ajouter (nolock) à tous les noms de tables, cependant une meilleure idée est de définir le niveau d'isolation en utilisant SQL "SET TRANSACTION ISOLATION NIVEAU LECTURE NON COMMANDÉE"
Je ne veux pas ajouter cela au début de tous les sp (comme il y en a tellement) donc cherchait un moyen de l'ajouter à la connexion.
Un exemple de code pour appeler sp est la suivante
public static int ExecuteNonQuery(string sStoredProcedureName, params object[] parameterValues)
{
Data.Database db = Data.DatabaseFactory.CreateDatabase();
using (DbCommand command = db.GetStoredProcCommand(sStoredProcedureName, parameterValues))
{
return db.ExecuteNonQuery(command);
}
}
Je pense ce paramètre est un paramètre de configuration dans le web.config, mais ne peux pas savoir ce qu'il est, ou si je m sur la bonne voie.
Toute aide est vraiment appréciée.
Salutations Amjid
tout échantillon code complet avec une solution ?? – Kiquenet