Ich habe zwei WCF-Dienste in einem einzigen Windows-Dienst auf einem Windows Server 2003-Computer gehostet. Wenn der Windows-Dienst auf einen der WCF-Dienste zugreifen muss (z. B. wenn ein zeitgesteuertes Ereignis auftritt), wird einer der fünf angegebenen Endpunkte für Namepipes verwendet (unterschiedliche Dienstverträge). Der Dienst stellt auch HTTP MetadataExchange-Endpunkte für jeden der beiden Dienste und net.tcp-Endpunkte für externe Server-Benutzer bereit.Es gab keinen Endpunkt, der auf net.pipe empfangsbereit war: // localhost/
der Regel die Dinge funktionieren gut, aber jeder einmal in eine Weile Ich erhalte eine Fehlermeldung, die etwa wie folgt aussieht:
System.ServiceModel.EndpointNotFoundException: Es gibt keinen Endpunkt war bei net.pipe hören: // localhost/IPDailyProcessing, das die Nachricht annehmen könnte. Dies wird oft durch eine falsche Adresse oder eine falsche SOAP-Aktion verursacht. Weitere Informationen finden Sie unter InnerException, falls vorhanden. ---> System.IO.PipeException: Der Pipe-Endpunkt 'net.pipe: // localhost/IPDailyProcessing' wurde auf Ihrem lokalen Rechner nicht gefunden. --- Ende der Ausnahmestapelüberwachung --- Server Stapelüberwachung: bei System.ServiceModel.Channels.PipeConnectionInitiator.GetPipeName (Uri uri) bei System.ServiceModel.Channels.NamedPipeConnectionPoolRegistry.NamedPipeConnectionPool.GetPoolKey (EndpointAddress Adresse Uri über,) bei System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection (Timespan timeout) bei System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen (Timespan timeout) bei System.ServiceModel.Channels.CommunicationObject.Open (Timespan timeout) bei System.ServiceModel.Channels.ServiceChannel.OnOpen (TimeSpan-Timeout) bei System.ServiceModel.Channels.CommunicationObject.Open (TimeSpan-Timeout) bei System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call (ServiceChannel Kanal, Span timeout) bei System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce (Timespan-Timeout, CallOnceManager Kaskade) bei System.ServiceModel.Channels.ServiceChannel.EnsureOpened (TimeSpan Timeout) bei System.ServiceModel.Channels.ServiceChannel.Call (Zeichenfolge Aktion, Boolean Oneway, ProxyOperationRuntime Operation, Objekt [] ins, Objekt [] outs, TimeSpan Timeout) bei System.ServiceModel.Channels.ServiceChannel.Call (String-Aktion, Boolean oneway, ProxyOperationRuntime-Vorgang, Objekt [] ins, Objekt [] outs) bei System.ServiceModel.Channels.ServiceChannelProxy.InvokeService (IMethodCallMessage-MethodeCall, ProxyOperationRuntime-Vorgang) bei System.ServiceModel.Channels.ServiceChannelProxy.Invoke (IMessage Nachricht)
Es ist nicht zuverlässig geschieht, die aufreizend ist, weil ich es nicht wiederholen kann, wenn ich will. In meinem Windows-Dienst habe ich auch einige zeitgesteuerte Ereignisse und einige Datei-Listener, aber das sind ziemlich seltene Ereignisse. Hat jemand irgendwelche Ideen, warum ich auf ein Problem stoßen könnte? Jede Hilfe würde sehr geschätzt werden.
Ich kämpfe mit dem gleichen Problem, haben Sie jemals eine Lösung gefunden? Dieser Fehler tritt regelmäßig auf. In einigen Fällen lautet die Ausnahme: "Die Nachricht konnte nicht gesendet werden, da der Dienst an der Endpunktadresse" net.pipe: // localhost/d927b6b5-5994-4bd2-b92a-2fbdbae18d28/SendEmailWorkflow/Erstellung 'für das Protokoll der Adresse'. Der Dienst wird nicht in IIS gehostet, sodass IIS/AppPool zurückgenommen wird. – Rohland