Comment augmenter le temps dans le web.config pour l'exécution de la requête sql
Quand je suis en cours d'exécution d'une requête dans une application web, je suis un null
valeur. Même requête directement dans SQL Management Studio renvoie les résultats.
Je pense que le problème est un délai d'attente. Comment puis-je augmenter le temps pour l'exécution de la requête dans une application web? Dans mon web.config : connectionstring
, il n'y a pas de code pour le délai d'expiration. Si je choisis un délai d'attente il y a, sera l'impact sur d'autres parties de mon système?
Il ne peut être contrôlé par la configuration. Ensemble CommandTimeout de SqlCommand. Pour apprendre plus au sujet de demande de page paramètres de délai d'expiration voir le post " stackoverflow.com/questions/7804622/...
Comment savez-vous de son en raison de l'expiration du délai? Essayez d'utiliser le générateur de profils Sql et voir ce que la requête est en cours de création. Voir d'autres détails comme la durée, lit etc. Tirez la requête à partir de profils et ensuite exécuter cette requête dans Sql Server.
Iam à l'aide de sql server 2005 management studio.Où se profiler.Je ne sais pas comment ust?
Comment savez-vous de son en raison de l'expiration du délai? Essayez d'utiliser le générateur de profils Sql et voir ce que la requête est en cours de création. Voir d'autres détails comme la durée, lit etc. Tirez la requête à partir de profils et ensuite exécuter cette requête dans Sql Server.
Iam à l'aide de sql server 2005 management studio.Où se profiler.Je ne sais pas comment ust?
OriginalL'auteur Jui Test | 2011-11-02
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire une seule chose.
comme:-
Dans appsettings.config ->
Dans le Code ->
Cela devrait le faire.
Remarque:-
J'ai fait face à la plupart des problèmes de délai d'attente lorsque je l'ai utilisé SqlHelper classe à partir d'une application microsoft blocs. Si vous l'avez dans votre code et sont confrontés à des problèmes de délai d'attente de son mieux vous utiliser sqlcommand et définir son délai d'attente comme décrit ci-dessus. Pour tous les autres scénarios sqlhelper devrait le faire bien. Si votre client est ok avec l'attente un peu plus long que le sqlhelper classe offre, vous pouvez aller de l'avant et utiliser la technique ci-dessus.
exemple:-
Utilisez ce -
Au lieu de
Mise à jour: se référer Également à @Triynko réponse ci-dessous. Il est important de vérifier que trop.
OriginalL'auteur
Vous devez ajouter le
httpRuntime
bloc et de traiter avecexecutionTimeout
(en secondes).Pour plus d'informations, reportez-vous à la page msdn.
Le httpRuntime executionTimeout doit être sans doute être au moins aussi longue que la requête de délai d'exécution si vous exécutez la requête dans le cadre d'une demande, sinon la demande de délai d'attente et être annulée avant que la requête a une chance de terminer.
OriginalL'auteur ibo.ezhe
SQL Server n'a pas de paramètre de délai d'expiration de requête dans la chaîne de connexion, et pour autant que je sais que c'est la même chose pour d'autres grandes bases de données. Mais, cela ne ressemble pas au problème que vous avez vu: je m'attends à voir une exception est levée
s'il était véritablement un délai d'attente de l'exécution de la requête.
Si ce n'est à son tour d'être un problème, vous pouvez modifier la valeur par défaut délai d'expiration d'une base de données SQL Server en tant que propriété de la base de données elle-même; l'utilisation de SQL Server Manager.
Assurez-vous que la requête est exactement le même à partir de votre application Web, comme celui que vous êtes en cours d'exécution directement. Utiliser un profiler pour vérifier cela.
OriginalL'auteur Jeremy McGee
Je pense que vous ne pouvez pas augmenter le temps pour l'exécution de la requête, mais vous avez besoin d'augmenter le délai d'attente pour la demande.
Pour plus de Détails, veuillez vous référer à https://msdn.microsoft.com/en-us/library/e1f13641%28v=vs.100%29.aspx
Que vous pouvez faire dans le web.config. e.g
OriginalL'auteur Muhammad Akhtar
Je me rends compte que je suis un peu en retard pour le jeu, mais je viens de passer plus d'une journée à essayer de modifier le délai d'attente d'un webservice. Il semblait avoir un délai d'attente par défaut est de 30 secondes. - Je après un changement de toute autre valeur de délai d'expiration j'ai pu trouver, y compris:
Finaley j'ai trouvé que c'était le SqlCommand délai d'attente qui est la valeur par défaut de 30 secondes.
J'ai décidé de simplement dupliquer le délai d'attente de la chaîne de connexion à la commande.
La chaîne de connexion est configurée dans le web.config.
Code:
Changement introduit à "dupliquer" la valeur de délai d'expiration de la chaîne de connexion:CommandTimeout = conn.ConnectionTimeout
OriginalL'auteur kesse