2009-06-23 21 views
12

Necesito actualizar nuestros servicios web para usar WCF en lugar de ASMX. Si las firmas de los servicios web permanecen iguales, ¿los clientes existentes que ya llaman al servicio ASMX tienen que cambiar algo en su extremo? ¿Hay alguna forma de seguir usando WCF pero no obligarlos a cambiar nada?Conversión de ASMX a WCF Web Service

+2

¿Puedes explicar por qué 'necesitas' actualizar? – redsquare

Respuesta

12

Opción 1:

  1. utilizando WSDL la corriente de ASMX, generar el cliente utilizando svcutil.exe
  2. Grab la interfaz generada y crear un servicio WCF basado en esta interfaz

    Salida: Uno nuevo punto final WCF configurado con basicHttpBinding. Los clientes necesitan actualizar la URL a la que envían los mensajes.

Opción 2:

  1. refactorizar el código de ASMX. Mueva toda la lógica a una DLL separada.
  2. Cree un servicio WCF y use la lógica en la DLL reafactada.

    de salida: 2 puntos finales, uno para ASMX y otro para WCF

8

Si utiliza el BasicHttpBinding para su nuevo servicio WCF, y aplicar los mismos métodos con la misma estructura de los mensajes, las llamadas existentes deben estar capaz de llamar a este nuevo servicio WCF sin ningún cambio de su parte.

También existe un atributo AspNetCompatibilityRequirements para evitar algún problema de compatibilidad potencial: consulte MSDN documentation en él.

Marc