Interfaces y Web Services

13/03/2007 - 16:42 por FDelCano | Informe spam
Hola,

alguien sabe como alojar el proxy de un servicio web en un cliente dentro de
un interface que implemente el servicio?

La cosa es que si tienes una aplicación que funcione via WebServices,
Remoting o Local y tienes una clase que implementa un interface, el proxy que
te crea el servicio web no indica que implementa dicho interface y para que
lo haga ó te creas un wrapper o le metes mano al proxy que genera con los
consiguiente problemas...

Me gustaría tener un solo cliente para las 3 versiones...

Alguien tiene otra idea? Gracias

Preguntas similare

Leer las respuestas

#1 CESAR DE LA TORRE [MVP]
28/03/2007 - 17:58 | Informe spam
No estoy seguro de si he entendido tu pregunta.
Normalmente yo trabajo con el concepto o patron de AGENTE en la aplicación
cliente, de esa forma aislas al cliente de si consume un WebService, un
Servicio-WCF, Remoting, etc.
Este patrón básicamente es un wrapper de la clase proxy, pero además es ahó
donde implementas aspectos de seguridad, gestión de errores en el cliente,
etc.
Podrías perfectamente extraer un interfaz de este AGENTE...
CESAR DE LA TORRE
Software Architect
[Microsoft MVP - Connected Systems]
[MCSE] [MCT]
BLOG: http://ctorre.spaces.live.com

Renacimiento
[Microsoft GOLD Certified Partner]


"FDelCano" wrote:

Hola,

alguien sabe como alojar el proxy de un servicio web en un cliente dentro de
un interface que implemente el servicio?

La cosa es que si tienes una aplicación que funcione via WebServices,
Remoting o Local y tienes una clase que implementa un interface, el proxy que
te crea el servicio web no indica que implementa dicho interface y para que
lo haga ó te creas un wrapper o le metes mano al proxy que genera con los
consiguiente problemas...

Me gustaría tener un solo cliente para las 3 versiones...

Alguien tiene otra idea? Gracias

Respuesta Responder a este mensaje
#2 Daniel A. Calvin
13/04/2007 - 20:16 | Informe spam
Hola FDelcano

Te cuento como lo hago yo desde la version 1.1 de framework hasta hoy...

El web service exijo que cumpla una interface, esa interface es a medidad
del dominio, para el servicio a brindar.

Todo lo que yo consuma desde el cliente, sea ws, remoting o el assembly
local, implementa esa interface.

En mi caso en el .config guardo para cada tipo de opcion los parametros de
construcción para cada interface.

Supongamos:
IRegistracionContable

bueno tengo una entrada en el config que dice:
RM
WS
LO

Segun instancie un proxy para ws, remoting o busque localmente.

Luego tengo una entrada para esa interface y cada posible metodo de
intanciacion.

basicamente assembly concreto o el proxy
nombre de clase que quiero intanciar
y si corresponde info de url y demas

en la aplicación intancio la cosa mas o menos asi:

IRegistracionContable
rc=ControllerFactory.NewInstance(typeof(IRegistracionContable) ) as
IRegistracionContable

ControllerFactory.NewInstance recurre al congig, segun el Type pasado como
parametro busca el tipo de conexion que necesito, LO ( local ), WS ( web
service), RM (remoting).
Luego en función de eso crea una instancia de la clase indicada para ese
tipo de conexion.

Anda muy bien.

El principio aplicado se llama inyeccion de dependencia.

Espero te sirva la idea.

Saludos

Daniel A. Calvin
Cooperator Team Member
http://www.cooperator.com.ar
Microsoft Certified Professional

"FDelCano" wrote:

Hola,

alguien sabe como alojar el proxy de un servicio web en un cliente dentro de
un interface que implemente el servicio?

La cosa es que si tienes una aplicación que funcione via WebServices,
Remoting o Local y tienes una clase que implementa un interface, el proxy que
te crea el servicio web no indica que implementa dicho interface y para que
lo haga ó te creas un wrapper o le metes mano al proxy que genera con los
consiguiente problemas...

Me gustaría tener un solo cliente para las 3 versiones...

Alguien tiene otra idea? Gracias

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida