मैं विंडोज सेवा और मेरी सेवा जीयूआई में होस्ट किए गए डब्ल्यूसीएफ के बीच संवाद करने की कोशिश कर रहा हूं। समस्या है जब मैं विधि OperationContract निष्पादित करने के लिए मैं हो रही हैकैसे हल करें "चैनल डिस्पैचर अपने आईसीएचनल लिस्टनर को खोलने में असमर्थ है" त्रुटि?
कोशिश कर रहा हूँ कि " पर ChannelDispatcher 'net.tcp: // स्थानीय होस्ट: 7771/MyService' अनुबंध के साथ (रों) '" IContract " ' अपने आईसीएचनल लिस्टनर को खोलने में असमर्थ है। "
मेरे app.conf कि तरह लग रहा है:
<configuration>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="netTcpBinding">
<security>
<transport protectionLevel="EncryptAndSign" />
</security>
</binding>
</netTcpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="MyServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:7772/MyService" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="MyServiceBehavior"
name="MyService.Service">
<endpoint address="net.tcp://localhost:7771/MyService" binding="netTcpBinding"
bindingConfiguration="netTcpBinding" name="netTcp" contract="MyService.IContract" />
</service>
</services>
</system.serviceModel>
पोर्ट 7771 सुन रहा है (netstat का उपयोग कर जाँच की) और svcutil मेरे लिए कॉन्फ़िगरेशन उत्पन्न करने में सक्षम है।
किसी भी सुझाव की सराहना की जाएगी।
ढेर अपवाद से ट्रेस
Server stack trace: at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter) at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
वहाँ एक भीतरी अपवाद है (लेकिन Exeption.InnerExeption के तहत नहीं, बल्कि Exeption.Detail.InnerExeption के तहत - ToString() विधि नहीं करता ' टी दिखाएं कि)
एक पंजीकरण यूआरआई 'net.tcp: // localhost: 7771/MyService' के लिए पहले से मौजूद है।
लेकिन मेरी सेवा ने इस यूआरआई को केवल app.config फ़ाइल में कहीं और निर्दिष्ट नहीं किया है। पूरे समाधान में इस यूआरआई एपर्स सर्वर में एक बार और ग्राहक एक बार।
क्या आप हमें "thexxception.ToString()" का उपयोग करके एक पूर्ण स्टैक ट्रेस दे सकते हैं। यह सभी आंतरिक अपवाद प्रदर्शित करेगा। इस तरह के अपवाद के साथ कभी-कभी एक और मूल कारण होता है। –