Comment fonctionnent les délais d'attente dans WCF? Je sais par exemple que vous pouvez configurer sendTimeout et receiveTimeout pour une liaison client. Mais comment fonctionnent-ils?
MSDN décrit sendTimeout comme:
Une valeur TimeSpan qui spécifie l'intervalle de temps prévu pour qu'une opération d'envoi se termine. Cette valeur doit être supérieure ou égale à zéro. La valeur par défaut est 00:01:00.
Que sont les opérations d'envoi/réception?
Côté client:
Du côté serveur:
La source est Brian McNamara sur les forums MSDN .
Voir "Délais d'expiration dans WCF et leurs valeurs par défaut" http://blogs.msdn.com/b/hongmeig/archive/2010/03/06/timeouts-in-wcf-and-their-default-values. aspx
Délais d'expiration sur liaison-SendTimeout, ReceiveTimeout, OpenTimeout et CloseTimeout. Ils peuvent être définis facilement soit par le biais de la configuration ou du code sur la liaison. La valeur par défaut pour ceux-ci est de 1 minute.
ServiceHost a OpenTimeout et CloseTimeout. La valeur par défaut pour OpenTimeout est de 1 minute et la valeur par défaut pour CloseTimeout est de 10 secondes.
Délais d'attente sur le canal côté client. Il existe un OperationTimeout, que vous pouvez définir en convertissant le canal en IContextChannel. La valeur par défaut est également de 1 minute. Ttimeout sur le transport TCP, appelé ChannelInitializationTimeout, et sa valeur par défaut est de 5 secondes.
ASPNET. Il existe un délai d'arrêt, tout comme le délai de fermeture de l'hôte du service, la valeur par défaut est de 90 secondes. ExecutionTimeout, tout comme notre délai d'opération, la valeur par défaut est de 110 secondes.
En plus de ce qui était sur ce post, il y a aussi le délai d'expiration de l'opération défini du côté client. Regarde ça: