Estoy tratando de comunicarme entre WCF alojado en el Servicio de Windows y mi GUI de servicio. El problema es cuando estoy tratando de ejecutar OperationContract método que estoy recibiendo¿Cómo resolver "The ChannelDispatcher no puede abrir su IChannelListener" error?
"El ChannelDispatcher en 'net.tcp: // localhost: 7771/MyService' con un contrato (s) ' "IContract" 'es incapaz de abrir su IChannelListener'.
Mi app.conf parece que:
<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>
puerto 7771 está escuchando (comprobado mediante netstat) y svcutil es capaz de generar configuraciones para mí.
Cualquier sugerencia sería apreciada. rastro
Pila de excepción
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)
Hay una excepcion interior (pero no bajo Exeption.InnerExeption pero bajo Exeption.Detail.InnerExeption - método ToString() doesn' t show that)
Un registro ya existe para URI 'net.tcp: // localhost: 7771/MyService'.
Pero mi servicio ha especificado este URI solo en el archivo app.config en ningún otro lugar. En toda la solución, este URI aparece en el servidor una vez y el cliente una vez.
¿Puede darnos un rastro de pila completo usando "theException.ToString()". Esto mostrará todas las excepciones internas. Con este tipo de excepción a veces hay otra causa raíz. –