Temps question dans WCF
Je vais avoir le temps d'émission dans WCF.
Voici l'erreur:
{"Le canal de demande dépassé pendant l'attente d'une réponse, après 00:00:59.9843744. Augmenter la valeur de délai d'expiration passée à l'appel à la Demande ou à l'augmentation de la SendTimeout valeur sur la Liaison. Le temps alloué à cette opération peut avoir été une partie d'un délai plus long."}
Après une recherche dans google, j'ai trouvé la solution
à partir de ce site
http://social.msdn.microsoft.com/Forums/en-US/peertopeer/thread/38306972-3128-4f0c-937b-5d162d4d8e74
J'ai donc modifié en conséquence l'une de mes applications.fichier de configuration
<behavior name="ContactServiceBehaviour">
<serviceMetadata httpGetEnabled="true" />
<dataContractSerializer maxItemsInObjectGraph="1000000000"/>
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceThrottling maxConcurrentCalls="100"
maxConcurrentSessions="100"
maxConcurrentInstances="100"/>
</behavior>
Quelle est la solution?
Salut, vous n'avez pas donné beaucoup pour aller avec ici. vous organisez le service? ou êtes-vous un WCF client?
OriginalL'auteur priyanka.sarkar | 2009-08-27
Vous devez vous connecter pour publier un commentaire.
Le post sur le forum dont vous parlez est un leurre. Le message d'erreur indique clairement que vous devez augmenter le délai d'expiration de la propriété dans la WCF client et le service. (si vous la modifiez dans le service, j'ai trouvé qu'il n'a pas toujours obtenir ramassé par le client lorsqu'il est mis à jour)
Dans Visual studio allez dans le menu Outils, vous y trouverez le "Service WCF Éditeur de Configuration'. Charge de vos projets web.config et de définir une nouvelle Liaison pour votre service.
Le paramètre à modifier est le SendTimeout valeur. Il est de 60 secondes par défaut.
Erreurs de délai d'attente ne sont presque jamais résolu en augmentant le délai d'attente. Ils sont généralement causés parce que le client est incapable de se connecter au serveur. Le délai d'attente n'existe que de sorte que vous n'avez pas à attendre des heures ou des jours avant d'abandonner.
si c'est le client en attente sur une longue tâche en cours d'exécution, puis 60 secondes n'est pas particulièrement long. et, très probablement le plus facile à corriger.
Cela n'a pas fonctionné dans mon cas, j'ai dû mettre de cette façon : MyWCFService.Point de terminaison.De liaison.SendTimeout = new TimeSpan(0, 10, 0);
OriginalL'auteur Andrew Harry
Si vous souhaitez gérer l'attente, vous pouvez placer du côté client, l'appel du service WCF dans un bloc try/catch.
Il y a un truc ici, si vous n'avez pas un débogueur, un délai d'attente sera la cause de l'exécution du bloc catch. Toutefois, si vous avez un débogueur le débogueur intercepte l'erreur avant qu'il arrive à le bloc catch.
OriginalL'auteur ShawnFeatherly