Je viens de créer une bibliothèque de service WCF. J'ai créé une fonction de test et j'ai appelé la fonction de test du client de test WCF. J'avais mis un point de rupture dans le code. Le contrôle atteint le point de rupture et s'arrête là. Maintenant, je laisse le contrôle de rester au point de rupture pendant environ une minute le message d'erreur suivant:WCF affichant une erreur de délai d'attente
Impossible d'appeler le service Causes possibles: Le service est hors ligne ou inaccessible, la configuration côté client ne correspond pas au proxy, le proxy existant n'est pas valide Reportez-vous à la trace de la pile pour plus de détails Vous pouvez essayer de récupérer en démarrant un nouveau proxy, en restaurant la configuration par défaut ou en actualisant le service.
Détails de l'erreur: La chaîne de requête a expiré en attendant une réponse après 00: 00: 59.9843750. Augmentez la valeur de délai d'attente transmise à l'appel pour demander ou augmenter la valeur SendTimeout sur la liaison. Le temps alloué à cette opération peut avoir été une partie d'un délai d'attente plus long.
trace de pile du serveur: à System.ServiceModel.Channels.RequestChannel.Request (message du message, Délai d'TimeSpan) à System.ServiceModel.Channels.ClientReliableChannelBinder 1.RequestClientReliableChannelBinder
1.OnRequest (canal TRequestChannel, un message Message, TimeSpan temporisation, MaskingMode maskingMode) à System.ServiceModel.Channels.ClientReliableChannelBinder 1.Request(Message message, TimeSpan timeout, MaskingMode maskingMode) at System.ServiceModel.Channels.ClientReliableChannelBinder
1.Demande (message du message, délai d'attente TimeSpan) à System.ServiceModel.Security.SecuritySessionClientSettings`1.SecurityRequestSessionChannel.Request (Message message, délai d'attente TimeSpan) à System.ServiceModel. Dispatcher.RequestChannelBinder.Request (Message, TimeSpan timeout) à System.ServiceModel.Chan nels.ServiceChannel.Call (String action, Boolean oneway, opération ProxyOperationRuntime, Object [] ins, Object [] outs, TimeSpan timeout) à System.ServiceModel.Channels.ServiceChannel.Call (Action de chaîne, Boolean oneway, Opération ProxyOperationRuntime, Objet [] ins, Object [] out) à System.ServiceModel.Channels.ServiceChannelProxy.InvokeService (IMethodCallMessage methodCall, opération ProxyOperationRuntime) à System.ServiceModel.Channels.ServiceChannelProxy.Invoke (message IMessage)
Exception relancée à [ 0]: à System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (IMessage reqMsg, IMessage retMsg) à System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (MessageData & MSGDATA, le type Int32) à ITrustmarkService.StartRobotProcess() à TrustmarkServiceClient.StartRobotProcess()
Toute idée est la cause?
@Sidharth Pour être complètement correct, vous devez définir both [binding.receiveTimeout] (https: // msdn.microsoft.com/en-us/library/system.servicemodel.channels.binding.receivetimeout(v=vs.110).aspx) ainsi que [binding.ReliableSession.InactivityTimeout] (https://msdn.microsoft. com/fr-fr/library/system.servicemodel.reluxession.inactivitytimeout (v = vs.110) .aspx) puisque l'un de ces deux expirant fermera la connexion. Ces deux paramètres peuvent être modifiés dans le fichier .config, comme ci-dessus, ou dans le code. – AlwaysLearning