2013-03-30 1 views
1

En utilisant ADO.NET et SQL Server 2008.« Délai d'attente expiré » exception se produit avant que le délai d'attente défini

propriété CommandTimeout du SqlCommand n'a pas été modifié, il a donc la valeur par défaut de 30.

exécute l'application quelques douzaines de commandes et enregistre le résultat (ou exception) à une table SQL, donc je connais l'heure de début de chaque exécution. L'heure de début de l'enregistrement de journal suivant me donne une estimation de la durée.

J'ai deux exceptions qui n'ont pas de sens, car leur durée est beaucoup plus petite que le CommandTimeout défini.

Cela se produit aléatoirement. Ce n'est pas reproductible. Ma question est la suivante: cette exception peut-elle être déclenchée par d'autres causes que le délai d'attente réel?

+0

Il existe deux délais d'attente, un au niveau de la connexion et un au niveau de la commande. Quel est le délai de connexion? Habituellement, il est défini sur la chaîne de connexion. – rsbarro

+0

@rsbarro: J'en suis conscient. La connexion TimeOut est 15 - ce qui n'explique toujours pas ce comportement, l'exception s'est produite 2 à 5 secondes après la commande précédente. – pvieira

+0

Êtes-vous en train de traiter XML dans votre requête de procédure stockée? –

Répondre

0

Il était probablement lié à un verrouillage des tables participantes.

Questions connexes