L'objet de communication, Système.ServiceModel.Les canaux.ServiceChannel, ne peut pas être utilisé pour la communication, car il est dans l'état Faulted
L'objet de communication, Système.ServiceModel.Les canaux.ServiceChannel,
ne peut pas être utilisé pour la communication, car il est dans l'état Faulted.
J'obtiens cette erreur, lors de l'application windows essaie de communiquer avec WCF hébergées en tant que Service Windows via wsDualHttpBinding. La WCF est utilisé pour communiquer avec un périphérique sur le port série. Windows application utilisée pour envoyer la commande souvent via WCF service windows.
Voici la trace de la pile:
trace de la pile:
Système.ServiceModel.Les canaux.CommunicationObject.ThrowIfDisposedOrNotOpen()
au Système.ServiceModel.Les canaux.ServiceChannel.Appelez le(la Chaîne de l'action,
Boolean oneway, ProxyOperationRuntime opération, Object[] ins,
Object[] sorties, la plage de Temps (timeout) à
Système.ServiceModel.Les canaux.ServiceChannelProxy.InvokeService(IMethodCallMessage
appel de méthode, ProxyOperationRuntime opération) à
Système.ServiceModel.Les canaux.ServiceChannelProxy.Invoke(IMessage
message)Exception renvoyé à [0]:
Système.Moment de l'exécution.L'accès distant.Les procurations.RealProxy.HandleReturnMessage(IMessage
reqMsg, IMessage retMsg) à
Système.Moment de l'exécution.L'accès distant.Les procurations.RealProxy.PrivateInvoke(MessageData&
msgData, type Int32) à
GridSplitter.CommandServiceReference.ICommandService.SendToMultipleChannel(String[]
canal, Int32[][] locid, String cmd, Int32 cmdData) à
GridSplitter.CommandServiceReference.CommandServiceClient.SendToMultipleChannel(String[]
canal, Int32[][] locid, String cmd, Int32 cmdData) à
GridSplitter.MainWindow.bwChkAndSendRedeploy_DoWork(Object sender,
DoWorkEventArgs e) : 11/9/2012 11:05:58 AM
- Je ne pouvais pas comprendre pourquoi le service est en cours dans reproché à l'état.
- Dois-je attraper cette exception et effectuer certaines patch de travail (si recommandé)?
- Peut TCP liaison de m'aider à éviter/suppression de cette exception?
OriginalL'auteur Manoj Shukla | 2012-11-14
Vous devez vous connecter pour publier un commentaire.
Votre problème est votre code à l'aide de l'instance du proxy de service (Service de Référence, généré par SvcUtil ou créés directement à partir de
ChannelFactory
) après l'appel de service a généré une erreur. Le chemin de la WCF est mis en œuvre, vous ne pouvez pas "re-use" un service de proxy une fois un appel avec ce proxy a jeté une faute.Vous avez besoin d'écrire la bonne logique de gestion des exceptions, le long de la lignes affichées dans ce bon billet pour les exigences spécifiques. Ce qui doit être fait indépendamment de la reliure réelle vous configurez le proxy à utiliser.
Grande nouvelle, la WCF a quelques subtilités cachées qui sort de la pop un peu trop souvent. Heureux le code aidé et j'espère que vous accepter ma réponse. Merci!
OriginalL'auteur Sixto Saez