Pregunta

Tengo un servicio de WCF duplex con excelente trabajo en Silverlight. pero el mismo servicio que quiere consumir en aplicación de consola ventanas. Mi código de la siguiente manera:

   var context = new InstanceContext(this);
   var address = new EndpointAddress("http://localhost:31881/PubSubService.svc");
   var binding = new CustomBinding(
                 new PollingDuplexBindingElement(),
                 new BinaryMessageEncodingBindingElement(),
                 new HttpTransportBindingElement());

    var client = new PubSubClient(context, binding, address);
    client.Publish("topic", "content");

App.config es "vacío":

   <?xml version="1.0" encoding="utf-8" ?>
     <configuration>
   </configuration>

Me da un error:

Encuadernación 'customBinding' no admite la creación de cualquier tipo de canal. A menudo, esto indica que los BindingElements en un customBinding han sido apilados de forma incorrecta o en el orden equivocado. Un transporte se requiere en la parte inferior de la pila. El orden recomendado para BindingElements es: TransactionFlow, ReliableSession, Seguridad, CompositeDuplex, OneWay, StreamSecurity, MessageEncoding, [...]

¿Me podría ayudar? Gracias de antemano.

¿Fue útil?

Solución

El problema es que PollingDuplexHttpBinding y el elemento de unión relacionada sólo está disponible en la API de Silverlight. Así que cuando se inicia nuevo proyecto .NET (aplicación de consola en su caso) no se puede utilizar el mismo código, porque .NET no contiene PollingDuplexBindingElement

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top