2011-06-08 20 views
7

Recientemente me he estado educando sobre WCF e incluso he escrito algunos servicios de producción usando WCF. Pero nunca he mirado demasiado a WCF hasta hace poco.¿Qué son los Proxies WCF y para qué sirven?

Soy consciente de la idea del patrón de diseño "proxy". También conozco el uso de un proxy con los servicios web de ASMX. Pero estoy teniendo dificultades para entender qué es un proxy WCF y cómo se usa. He examinado minuciosamente la documentación de MSDN sobre WCF, pero todavía no entiendo la gran imagen del uso de proxies con los servicios de WCF.

Respuesta

7

Un proxy es un representante en proceso de un servicio fuera de proceso. Llamas al proxy (lo cual es fácil), que configura los canales de comunicación, etc. y habla con el servicio remoto (que es difícil).

Véase también http://msdn.microsoft.com/en-us/library/ms730144.aspx.

+0

En Wikipedia, también consulte [Patrón de proxy] (https://en.wikipedia.org/wiki/Proxy_pattern#Usage), que establece esto para uno de sus usos: * "Proporcionar interfaz para recursos remotos, como servicios web o recursos REST." * Además, creo que es importante tener en cuenta que un proxy puede proporcionar servicios de serialización y deserialización. (Por ejemplo, para cargas útiles de mensajes XML y JSON). – DavidRR

3

Un proxy WCF es realmente solo un nivel de abstracción. Código contra el proxy (en última instancia, una interfaz que es un contrato de servicio) sin necesidad de trabajar con los detalles de grano fino de tratar con la lógica de comunicación WCF. El beneficio de WCF es que puede usar muchos tipos de comunicación con el servicio (http, wshttp, msmq, named pipes, etc.) con el mismo proxy.

1

Técnicamente hablando Proxy es la clase que expone CLR CLR interfaz única que representa el proxy Servicio Contract.The proporciona mismas operaciones que ServiceContract, sino también métodos adicionales para la gestión del ciclo de vida de proxy y la conexión con el servicio

      or 

El proxy se utiliza para representar la interfaz de ServiceContract en el servidor desde el lado del cliente. Mediante el uso del proxy podemos invocar los métodos de servicio que se presentan en la interfaz que se encuentra en el servidor.

0

Cliente proxy es necesario para consumir servicios WCF de clientes .NET. Proxy es un objeto en la memoria en el lado del cliente que expone la misma interfaz o API que el servicio WCF. Su código de consumo realizará llamadas contra ese proxy y el proxy enviará esas llamadas como mensajes SOAP al servicio WCF.

Los visores pueden ser generados por código por Visual Studio en base a los metadatos expuestos por el servicio WCF en WSDL o punto final WS-MetaDataExchange (que está basado en SOAP).

Si desea un mayor control sobre el consumo del servicio, puede codificar manualmente los proxies. Al igual que desea encapsular el patrón repetitivo de usos, por ejemplo, la configuración de credenciales, etc.

Cuestiones relacionadas