Estoy totalmente confundido entre los servicios web WCF y ASMX. He utilizado muchos servicios web en mi etapa anterior, y ahora se presenta esta nueva cosa llamada WCF. Todavía puedo crear WCF que funcione como un servicio web. Creo que habrá más cosas en WCF.
¿Cuáles son las diferencias entre WCF y los servicios web? ¿Cuándo se debe usar cada uno?
wcf
web-services
asmx
shailesh
fuente
fuente
Respuestas:
Keith Elder compara muy bien ASMX con WCF aquí. Echale un vistazo.
Aquí se puede encontrar otra comparación de ASMX y WCF : no estoy 100% de acuerdo con todos los puntos allí, pero podría darte una idea.
WCF es básicamente "ASMX en esteroides" - puede ser todo lo que ASMX podría - ¡y mucho más! .
ASMX es:
WCF puede ser:
En resumen: WCF está aquí para reemplazar ASMX por completo.
Consulte el Centro de desarrolladores de WCF en MSDN .
Actualización: el enlace parece estar muerto. Pruebe esto: ¿Qué es Windows Communication Foundation?
fuente
Los servicios web ASMX solo pueden ser invocados por HTTP (servicio web tradicional con .asmx). Mientras que el servicio WCF o un componente WCF puede ser invocado por cualquier protocolo (como http, tcp, etc.) y cualquier tipo de transporte.
En segundo lugar, los servicios web de ASMX no son flexibles. Sin embargo, los servicios WCF son flexibles. Si crea una nueva versión del servicio, solo necesita exponer un nuevo final. Por lo tanto, los servicios son ágiles y es un enfoque muy práctico que mira las tendencias comerciales actuales.
Desarrollamos WCF como contratos, interfaz, operaciones y contratos de datos. Como desarrollador, estamos más centrados en los servicios de lógica de negocios y no debemos preocuparnos por la pila de canales. WCF es una API de programación unificada para cualquier tipo de servicios, por lo que creamos el servicio y utilizamos la información de configuración para configurar el mecanismo de comunicación como HTTP / TCP / MSMQ, etc.
fuente
endpoint
, supongo. Me gusta<endpoint address="http://api.microsofttranslator.com/V1/soap.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_LanguageService1" contract="TranslatorService.LanguageService" name="BasicHttpBinding_LanguageService3" />
Esta es una pregunta muy antigua, pero no creo que los beneficios de ASMX se hayan retratado bastante. Si bien no son terriblemente flexibles, los servicios web de ASMX son muy simples de usar y comprender. Si bien WCF es más flexible, también es más complejo ponerse de pie y configurarlo.
Los servicios web de ASMX están listos para ponerse de pie y agregarse como referencia de servicio web tan pronto como agregue el archivo. (asumiendo que su proyecto se construye)
Para el flujo de trabajo de desarrollo simple de
create webservice
->run webservice
->add webservice reference
, un servicio web ASMX tiene muy poco que pueda salir mal, no mucho que pueda configurar mal, y esa es su fortaleza.En respuesta a aquellos que afirman que WCF reemplaza a ASMX, respondería que WCF necesitaría agregar un modo de configuración KISS optimizado para reemplazar completamente ASMX.
Ejemplo web.config para un servicio web ASMX:
fuente
WCF reemplaza completamente los servicios web ASMX. ASMX es la forma antigua de hacer servicios web y WCF es la forma actual de hacer servicios web. Todo el nuevo desarrollo del servicio web SOAP, en el cliente o en el servidor, debe hacerse con WCF.
fuente
Hay muchas conversaciones sobre la simplicidad de los servicios web asmx sobre WCF. Permítanme aclarar algunos puntos aquí.
Sin olvidar que era uno de esos tipos a los que les gustaban más los servicios asmx que WCF, pero esa vez no conocía bien los servicios WCF y sus capacidades. Tenía miedo de las configuraciones de WCF. Pero me atreví e intenté escribir algunos servicios WCF propios, y cuando aprendí más sobre WCF, ahora no tengo inhibiciones sobre WCF y los recomiendo a todos. Feliz codificación !!!
fuente