Service WCF délai d'attente
Est-il un moyen de définir un tiemout sur le côté service, de sorte que la demande arrête le traitement, si elle dépasse le délai d'attente? Je sais que je peux le moment de la demande sur le côté client, mais cela ne veut pas arrêter le traitement de la requête sur le serveur.
J'ai essayé d'ajouter de liaison suivants:
<basicHttpBinding>
<binding name="timeout" receiveTimeout="00:01:00" closeTimeout="00:01:00" openTimeout="00:01:00" sendTimeout="00:01:00" />
</basicHttpBinding>
J'ai aussi essayé d'ajouter le texte suivant dans le système.nœud web (séparément et conjointement avec le ci-dessus):
<httpRuntime executionTimeout="60" /> <!-- timeout after 60 seconds -->
- Les délais d'attente que vous pouvez configurer sur le point de Terminaison de la configuration de liaison sont pour la plupart liées au transport/canal délais d'attente, ce que vous demandez est un moyen de limite à la durée de votre service de traitement-code, quelle que soit la façon dont beaucoup de temps de communication est nécessaire de droite? par exemple, vous souhaitez mettre votre service WCF va annuler les opérations de traitement si cela prend plus de 2 minutes ... est-ce ce que vous demandez?
- c'est fondamentalement correcte.
Vous devez vous connecter pour publier un commentaire.
Il n'est pas intégré (de la boîte) façon de le faire. Tous les délais d'attente que vous pouvez définir sont liées à des paramètres de transport. En quelques mots, vous avez à faire vous-même.
Voir aussi cette réponse sur la limitation de la WCF temps d'exécution.
Vous pouvez le configurer à votre service des liaisons, le lien ci-dessous indique les valeurs de set sur le service ainsi que du côté client.
http://geekswithblogs.net/smyers/archive/2011/10/05/wcf-service-message-timeouts-size-limits-tips-and-tricks.aspx
Nous pouvons mettre de côté de serveur de temps dans la "Liaison" avec:
C'est le délai que précise combien de temps le service peut attendre depuis le début de la réception d'une demande jusqu'à ce que le message est traité. C'est côté serveur réglage. Lorsque vous envoyez un message au service et au service des besoins de temps, vous auriez besoin d'augmenter ce paramètre.
http://msdn.microsoft.com/en-us/library/ms731361.aspx
À l'aide de ces deux délais d'attente devraient résoudre la plupart des problèmes de délai d'attente. Toutefois, lorsqu'un service WCF est hébergé sur IIS/ASP.NET, un autre paramètre serait également le contrôle de la durée de vie de la demande:
ReceiveTimeout
voir rauch.io/2015/06/25/tous-wcf-délais d'attente-a expliquéoui, je peux le gérer, vous devez configurer votre site web.fichier de config c'est ressembler à
-->
-->
Et De Votre Côté Client ServiceReferences.ClientConfig fichier ressemble à