¿Hay alguna ventaja de usar WCF para escribir servicios web en lugar de ASP.Net core?

Esta pregunta no tiene mucho sentido. WCF y ASP NET no son marcos comparables. Es como preguntar: ¿hay alguna ventaja de usar una silla en lugar de un automóvil?

Vamos a dejar en claro, qué es qué.

  • ASP .NET es un marco web.
  • WCF es un marco de comunicación. Puede usarlo para escribir servicios web SOAP, servicios web REST, comunicación entre dos procesos en la misma computadora o comunicación entre capas en sus aplicaciones.

Como puede ver, ASP .NET es algo muy diferente de WCF. Ahora, ¿cuál es la relación?

El servicio WCF se puede alojar dentro de la aplicación ASP .NET en IIS, o se puede alojar automáticamente en cualquier aplicación, como el servicio de Windows, la aplicación de consola o una aplicación de escritorio.

  • WebApi : ASP.NET WebAPI es otro marco para escribir servicios web. A diferencia de WCF, está vinculado con ASP .NET y puede usarlo solo para servicios web REST.
  • ASP .NET Core: es una versión más nueva de ASP .NET reescrita desde cero. Se ejecuta en Linux, es más ligero y más rápido. No está vinculado a IIS. Las aplicaciones ASP .NET pueden ser autohospedadas (de manera similar a WCF).

Entonces, su pregunta probablemente fue sobre WCF vs ASP .NET Core + WebApi , ¿verdad?

en ese caso:

Si está de acuerdo con REST, vaya a ASP .NET Core + WebAPI.

WebAPI se puede usar solo para servicios REST. Si necesita SOAP, o necesita protocolos binarios más eficientes entre dos puntos finales .NET, use WCF.

La ventaja más importante de WCF es que escribe el servicio solo una vez y puede convertirlo en SOAP, REST o IPC u otro.

Digamos que tiene 3 niveles: Datos + Lógica empresarial + Lógica de presentación. Si usa WCF, puede tener todos los niveles en un solo proceso y usar llamadas directas, lo que no tiene ninguna sobrecarga. Más tarde, es posible que desee mover el nivel de datos para separar el proceso. Solo es cuestión de configuración hacer que WCF use IPC. Si luego decide usar cualquier nivel para separar la máquina, puede usar el protocolo binario NetTCP. Y si desea exponerlo a través de la web, puede volver a configurarlo en REST o SOAP.

More Interesting

¿Qué paquete tecnológico debo usar para hacer un sitio web de transmisión de video escalable usando Django / Python en un mes?

¿Qué tipos de páginas web se pueden implementar usando HTML, CSS, JavaScript, PHP o SQL para un mini proyecto en diseño web?

¿Cuáles son algunos buenos recursos para aprender sobre .NET, desarrollo web (CSS, HTML5) o programación Ruby?

¿Hay algún widget de chat que no requiera el registro del usuario?

¿Qué lenguajes de programación fueron diseñados específicamente para el desarrollo web?

Entre el soporte de TI y el desarrollo web, ¿qué ruta de trabajo es mejor? ¿Cuál es más fácil, menos estresante y más estable?

¿Qué marco debo elegir, Symphony o Yii2?

¿Cómo hacer que una variable local sea global?

¿Por qué se sigue utilizando Dreamweaver? ¿Me estoy perdiendo de algo?

¿Dónde y cómo se puede comenzar a aprender a construir sitios web?

¿Cuáles son los mejores cursos de desarrollo web en línea?

¿Cómo hago para crear un sitio web como mint.com para un proyecto personal? Más aún, ¿cómo obtengo la autorización para conectarme a las cuentas bancarias de las personas después de que ingresen los detalles?

¿Cuáles son las diferencias entre 'marco basado en componentes' y 'marco de modelo de objeto de página' para la automatización de pruebas?

Cómo configurar de manera más eficiente un entorno de desarrollo web para el uso colaborativo del equipo

¿Qué software / código se utilizó para crear la Base de conocimiento de Evernote?