délai d'attente pour la asynchrones appel de service web en C#
Je suis à l'aide de C# et créé un proxy à partir d'un ASP.Net Service Web asmx à côté client, en utilisant Ajouter une Référence Web... la fonctionnalité de VSTS 2008.
Et je suis en utilisant la méthode asynchrone appel de modèle (c'est à dire appeler la AsyncXXX méthode, qui sera de retour tout de suite) et gère l'ensemble de l'événement (j'ai ajouter un gestionnaire d'événements pour gérer la complète, même lorsque la reponse est reçu depuis le côté serveur).
Je trouve si il n'y a pas de réponse du serveur pendant une longue période, l'événement ne sera pas déclenché.
Mes questions sont,
- Est-il prévu de fonctionnalité ou de mon bug que si pas de réponse du serveur après l'appel AsyncXXX méthode, gestionnaire d'événement complet ne sera pas appelé?
- Il n'existe aucun moyen d'attribuer une valeur de délai d'expiration, de sorte que je n'attends pas sur le gestionnaire d'événement complet à l'infini?
merci d'avance,
George
OriginalL'auteur George2 | 2009-02-11
Vous devez vous connecter pour publier un commentaire.
Dans le web.config pour votre webservice, vous pouvez définir un délai d'attente (Vous aurez aussi besoin de changer pour ne pas être en mode de débogage s'il en est). Ceci devrait alors entraîner à lancer une exception qui va augmenter votre événement terminé. Ensuite, vous devrez inspecter une exception pour voir si elle a réussi ou échoué.
<le système.web><httpRuntime executionTimeout="120" /></système.web> Voir msdn.microsoft.com/en-us/library/e1f13641.aspx
OriginalL'auteur cjk
Si vous voulez que votre service web pour ne jamais le délai vous pouvez mettre cette ligne dans le site web des services de classe:
OriginalL'auteur Kelly
SoapHttpClientProtocol
qui votre procuration doit hériter de a unTimeout
propriété héritée de son ancêtreWebClientProtocol
. Il pourrait répondre à votre deuxième question.OriginalL'auteur Michaël Carpentier