¿Cuál es más eficiente, el servicio web o WCF?
/Forums/zh-CN/wcfzhchs/thread/c06420d1-69ba-4aa6-abe5-242e3213b68f
¿Cuál es la diferencia entre WCF y servicio web? ¿Qué tiene que ver con el servicio web ASP.NET? ¿Cuál es la diferencia entre el servicio web WCF y ASP.NET? Este es un problema en el que muchos desarrolladores de .NET tienden a equivocarse. A menudo me encuentro con esto durante las entrevistas. Muchos principiantes también se confundirán debido a su primer contacto con WCF o el servicio web, y mucha información introducida es inexacta. Incluso hablé de estos problemas con muchos desarrolladores con muchos años de experiencia en desarrollo y no pudieron notar la diferencia. Creo que mucha gente también ha sido engañada. Los siguientes son los conceptos erróneos más comunes: el servicio web es demasiado antiguo; el servicio web ASP.NET funciona mejor que el servicio web WCF; que el servicio web Potente; WCF es más seguro que el servicio web; el servicio web definitivamente será reemplazado por WCF, que en realidad es muy simple; Creo que muchas personas han oído o han estado expuestas a estos puntos de vista. Analizaremos en detalle las razones de los errores de cada vista más adelante. En el futuro, todos tendrán una referencia a la hora de estudiar y entrevistar. ————————————————————————————————————————– Hay una pregunta similar a continuación de WCF Chinese Foro, citando a ymq:
No está mal
Usé mucho los servicios web en el pasado y básicamente estoy familiarizado con ellos. Recientemente entré en contacto con WCF, tal vez porque. Soy nuevo en esto. ¿Cómo se siente en comparación con los servicios web? Es mucho más complicado y las ventajas no parecen ser muy obvias. . . . .
Gracias, una vez hablé de un problema con ellos en el Foro de Tecnología China de WCF. ————————————————————————————————————————— Analicemos la diferencia entre los dos en detalle . ¿Cuál es la diferencia entre servicio web y WCF? 1Servicio web: estrictamente hablando, es un estándar de la industria, es decir, la especificación del servicio web, también conocida como especificación WS-*, que no es un marco ni una tecnología. Cuenta con un conjunto completo de estándares de sistemas normativos y se actualiza y mejora constantemente. Utiliza un lenguaje de marcado extendido XML para representar datos (esta es la clave para presumir del lenguaje y la plataforma). La implementación del servicio web de Microsoft se llama Servicio web ASP.NET. Utiliza el protocolo de acceso a objetos simples Soap para implementar la interacción de datos entre aplicaciones en un entorno distribuido. WSDL para implementar descripciones relacionadas con la interfaz de servicio. Además, los servicios web pueden registrarse en el centro UDDI para que sus clientes los encuentren y utilicen.
Más tarde, Microsoft amplió la seguridad, el rendimiento, el cifrado de datos, el descifrado, el alojamiento y otros aspectos del servicio web ASP.NET, que se denominó serie WSE. Este es un producto provisional, hasta WSE3.0. Más tarde vino la era WCF. (Conocimientos esenciales para el desarrollo distribuido WCF (4): Servicio web) 2Servicio web ASP.NET: Microsoft proporciona un marco de desarrollo para servicios web, que es parte del marco ASP.NET, pero admite las primeras especificaciones WS. Como SOAP1.1.
3WCF: WCF es un framework de desarrollo para aplicaciones distribuidas y pertenece a una tecnología o plataforma específica.
Ni un estándar ni una norma. WCF es en realidad un servicio web ASP.NET hasta cierto punto, porque admite los estándares de la industria y los protocolos centrales del servicio web. Por lo tanto, puede hacer casi todo lo que el servicio web ASP.NET y WSE pueden hacer, y es multiplataforma y lenguaje. no es un problema (los datos también admiten el formato XML y proporcionan su propio formateador).
Sin embargo, WCF es un componente o plataforma de comunicación promovido por Microsoft cuyo objetivo no es sólo soportar e integrar servicios web, sino que también es compatible y posee las características de muchas de las primeras tecnologías de Microsoft.
Según la explicación oficial de Microsoft, WCF (la versión anterior se llamaba "Indigo") es un marco unificado para crear y ejecutar aplicaciones orientadas a servicios (Service Oriented) utilizando código administrado. Permite a los desarrolladores crear una solución transaccional segura, confiable y multiplataforma que sea compatible con los sistemas existentes. WCF es el maestro del desarrollo de aplicaciones distribuidas de Microsoft. Integra todas las tecnologías relacionadas con sistemas distribuidos bajo la plataforma .Net, como Enterprise Services (COM).Net Remoting, Web Service (ASMX), WSE3.0 y MSMQ. En términos del alcance de la comunicación, puede cruzar procesos, cruzar máquinas, cruzar subredes, redes corporativas e incluso Internet. En términos de programas host, puede ser ASP.NET, EXE, WPF, Windows Forms, NT Service, COM; Como anfitrión. Los protocolos que WCF puede admitir incluyen TCP, HTTP, procesos cruzados y personalizados, y los modos de seguridad incluyen SAML, Kerberos, X509, usuario/contraseña, personalizados y otros estándares y modos. En otras palabras, bajo el marco WCF, es más fácil desarrollar sistemas distribuidos basados en SOA. Microsoft incluye todos los elementos técnicos relevantes. Dominar WCF equivale a dominar la clave para abrir la puerta de SOA. (MSDN) (El desarrollo distribuido de WCF gana paso a paso (1): Conceptos básicos del marco distribuido de WCF)
Si desea aprender más sistemáticamente sobre WCF, debe aprender de Enterprise Services (COM If). También tiene un conocimiento detallado de Net Remoting, Web Service (ASMX), WSE3.0 y la cola de mensajes MSMQ. Puede consultar mi blog. Antes de eso, organicé sistemáticamente el conocimiento relacionado con el aprendizaje de WCF. Este es el directorio de artículos: Blog de Lao Xu: Directorio de artículos.
Otro punto es que muchas personas están interesadas en aprender WCF. Yo era el mismo al principio y llegué directamente a WCF. De hecho, me resultó difícil en estudios posteriores debido a las muchas características y ventajas que afirmaba. por WCF. No puedo entenderlo, y mucho menos entenderlo. El artículo menciona muchas de las primeras tecnologías de Microsoft. Si no hemos estado expuestos a ellas, no tendremos una comprensión profunda de estas comparaciones. Se recomienda comenzar primero con lo básico y luego centrarse en algunas aplicaciones o conceptos más avanzados de WCF, paso a paso. También hay muchos materiales de aprendizaje de WCF en Internet. Una vez que tenga una cierta base, puede ver las conferencias del hermano Fu Zhongkai.
Dirección de publicación original: /Forums/zh-CN/wcfzhchs/thread/c06420d1-69ba-4aa6-abe5-242e3213b68f
Las ventajas solo se pueden obtener después de aprender a utilizarlas Una vez que comience a aprender WCF, poco a poco se enamorará de él. Es un marco de comunicación muy bueno. Este es un marco técnico importante para Microsoft SOA. Publicar y llamar a servicios WCF es muy común en Biztalk, que proporciona un amplio conjunto de adaptadores. Puedes averiguarlo si estás interesado.
~ 4 Conclusión: Después de leer estos análisis, podemos saber por qué las conclusiones anteriores son incorrectas. Ningún marco técnico puede compararse con los estándares de la industria. Cualquier comparación entre ambos es errónea, porque no pertenecen en absoluto a la misma categoría. Al igual que no se puede comparar un coche con las normas de tráfico. Esto es un malentendido. El servicio web es demasiado antiguo: los marcos son diferentes en versión, pero las características funcionales son antiguas y nuevas, pero para un sistema específico, el que más le convenga es el mejor. El servicio web es el servicio web ASP.NET: tampoco es una categoría. La primera es una especificación y la segunda es un marco. WCF tiene mejor rendimiento que el servicio web: no es una categoría. WCF es más rápido que el servicio web ASP.NET: no necesariamente y requiere restricciones específicas. Cuando WCF usa BasicHttpBinding. es lo mismo que el protocolo del servicio web ASP.NET. WCF es más rápido que el servicio web: el mismo concepto no es estricto. WCF es más poderoso que el servicio web: WCF integra una variedad de tecnologías distribuidas de Microsoft, pero aquí debe decirse estrictamente: el servicio web ASP.NET WCF es más seguro que el servicio web: no es estricto. En segundo lugar, WCF también puede desarrollar aplicaciones completamente desnudas. El servicio web será reemplazado por WCF; ¡el servicio web no será reemplazado por WCF! El primero es un conjunto de especificaciones ampliamente utilizado. Si WCF puede reemplazar el servicio web ASP.NET es porque ambas son tecnologías en la plataforma .NET. WCF es en realidad un servicio web: WCF no cumple con las especificaciones del servicio web en algunos casos, es decir, se pueden desarrollar aplicaciones que no sean de servicio. Y no pueden simplemente equipararse. WCF es muy simple, de hecho, no hay nada: aunque WCF es un marco de desarrollo de servicios, si lo estudia en profundidad, encontrará el poder de la arquitectura WCF. La seguridad de WCF por sí sola es bastante compleja. Además, es necesario unificar el modelo de programación y ser compatible y soportar muchas de las primeras tecnologías distribuidas. Muchas personas llegan fácilmente a esta conclusión porque deben haber leído algunos artículos o libros y es posible que no hayan escrito código. Los expertos no sacarán conclusiones arbitrarias como ésta. Después de leer este artículo, espero que tenga un conocimiento profundo de WCF y WebService. Y ya no habrá tales dudas. Ya sea que estés participando en una entrevista, como candidato o como entrevistador, es necesario aclarar estas preguntas básicas. No engañes a los demás y no te dejes engañar por los demás. Los técnicos deben mantener una actitud de aprendizaje rigurosa. ~Jaja, espero que sea útil para el estudio de todos~