¿Cuál de estas dos formas de utilizar el servicio wcf es mejor? ¿por qué?Generación de proxy wcf frente a ChannelFactory
- Generación de proxy de Servicio de Referencia
- usando ChannelFactory
ex.
ChannelFactory<IMyContract> factory = new ChannelFactory<IMyContract>();
IMyContract proxy1 = factory.CreateChannel();
proxy1.MyMethod();
que es un poco aburrido para llamar al servicio de WCF como so
IMyContract proxy1 = null;
try
{
proxy1 = factory.CreateChannel();
proxy1.MyMethod();
((ICommunicationObject)proxy1).Close();
}
catch
{
((ICommunicationObject)proxy1).Abort();
}
¿Hay que repetir este fragmento para cada llamada de proximidad? ¿O hay una manera genérica de crear una clase contenedora para cerrar y abortar proxies?
¿Está escribiendo una clase como esta ServiceExecution.Execute(proxy=>proxy.MyMethod());
que crea un proxy, y lo cierra o aborta de una buena manera de hacer eso?
lo sé, pero generó contratos de datos no es cómodo de usar. Supongamos que tenemos 2 servicios, el primero devuelve datacontrat que debe pasarse al segundo como parámetro. en este caso, debemos copiar el contrato de datos manualmente, porque el contrato de datos existe en 2 espacios de nombres diferentes –
. Puede editar el código generado por el SV. Y puede tener un DataContract separado. – Incognito
Su edición se perderá después de cualquier cambio en el servicio y la regeneración del proxy no es así? –