viewcomponent taghelper tag route net mvc framework asp asp.net-core .net-core

asp.net-core - taghelper - tag helpers asp net core



¿Por qué usar.NET Framework completo con ASP.NET Core? (5)

Con ASP.NET Core 1.0 versión, se puede ejecutar en .NET Core o en .NET Framework completo según la documentación here Estoy tratando de entender la última opción de por qué uno seleccionaría ASP.NET Core + .NET Framework completo.

Entiendo la diferencia entre el completo .NET Framework y .NET Core. Sin embargo, si quisiera usar el completo .NET Framework, ¿por qué no usar simplemente ASP.NET 4.6? Pensé que la idea era un golpe 1-2 con ASP.NET Core encima de .NET Core, lo que permite la gran cantidad de beneficios como la implementación multiplataforma, la modularización, la capacidad de implementación en un contenedor Docker, el rendimiento, etc. Sin .NET Core, no No creo que nada en esa lista siga siendo válido, así que, ¿cuál es el caso de uso de .NET Framework + ASP.NET Core? ¿Qué me proporciona ASP.NET Core en sí mismo sin .NET Core?


.NET Core permite la gran cantidad de beneficios como la implementación multiplataforma, la modularización, la capacidad de implementación en un contenedor Docker, el rendimiento, etc. Sin .NET Core, no creo que nada de esa lista sea válido

El único beneficio que no tiene si elige el marco completo de .NET sobre .NET Core es la multiplataforma. Todos los demás beneficios de la implementación, la modularización, la ventana acoplable, el rendimiento, etc. siguen siendo válidos.

En realidad, ejecutamos nuestra aplicación web ASP.NET Core en el marco completo y ahora disfrutamos de los beneficios de tener Dependency Injection como ciudadano de primera clase, tenemos NuGet integrado, un canal de solicitud de HTTP magra que hace que nuestro rendimiento sea mejor, de código abierto ( Por lo tanto, todos los problemas se pueden resolver mediante una breve visita a GitHub), la modularidad (aún tenemos que encontrar algo que no pudimos personalizar para nuestras propias necesidades después de casi un año), y así sucesivamente. Y sabemos que no necesitamos implementarlo en ningún otro sistema operativo que no sea Windows, por lo que aún podemos tener todos los beneficios del marco completo.

Actualización de Tseng

Bueno, todavía puedes apuntar a .NET Framework completo en Linux, por ejemplo. Allí necesitas mono 4.6 instalado allí. Existen algunas limitaciones, ya que no todas las clases se implementan en mono, pero la mayoría está a la vuelta de la esquina (es decir, encriptación) con la que tiene que trabajar.

Actualización de atconway

También vale la pena tener en cuenta que VB.NET no es compatible con .NET Core si es un requisito.


Sin embargo, si quisiera usar el completo .NET Framework, ¿por qué no usar simplemente ASP.NET 4.6?

Si uso ASP.NET 4.6 en lugar de ASP.NET Core 1, no podré usar ASP.NET Core MVC. ¡Ninguna de las características en esa página de documentación estará disponible para mí! Tendría que construir una aplicación MVC5. Boooo!

Estoy tratando de entender la última opción de por qué uno seleccionaría ASP.NET Core + .NET Framework completo.

Supongo que otra forma de preguntar sería: "¿por qué tomarías el camino rojo cuando puedes tomar el camino marrón?"

Un argumento para hacerlo de esta manera es el despliegue. Si tiene un montón de servidores Windows existentes con IIS en ellos, tendrá que instalar software adicional en cada uno de ellos y configurarlos para ejecutar aplicaciones Core. IIS se convierte en un proxy inverso para su aplicación .NET Core.

Sin embargo, si estas aplicaciones se crearan en .Net Framework, no tendría que hacer esto. Puede seguir utilizando la implementación web (por ejemplo) para moverlos a los servidores. Tal vez tenga otros ajustes de configuración de IIS que no desee migrar.

Al usar ASP.NET Core 1.0 orientado a .Net Framework, puede obtener el beneficio de las nuevas características en ASP.NET Core MVC sin tener que cambiar su infraestructura existente.


Tener que aprovechar tecnologías heredadas como OLE DB que nunca se implementarán en NET Core System. Los datos son otra razón.


Un beneficio importante de usar Full .NET framework con Asp.Net core es la disponibilidad de bibliotecas y frameworks maduros que se desarrollan principalmente para apuntar a la versión anterior de .NET.

Pero al pasar el tiempo e implementar más y más bibliotecas para apuntar al núcleo .NET y desarrollar más funciones para el núcleo .NET, este beneficio puede desaparecer.


Una cosa a considerar es que puede ser una ruta de migración. Digamos, por ejemplo, que tiene una aplicación ASP.NET 4.6 existente que pretende migrar a .NET Core. Desea aprovechar las características de ASP.NET Core como TagHelpers, Dependency Injection, etc., pero no está listo o no puede usar .NET Core framework. Entonces, usted desarrolla la aplicación Core de ASP.NET, enfocándose solo en el marco completo de .NET. Luego, da el siguiente paso y el objetivo múltiple, yendo tanto a .NET full framework como a .NET Core framework. Esto le brinda la flexibilidad de implementar fácilmente IIS con el marco completo o multiplataforma con el marco central. A partir de ahí, puede decidir si desea eliminar el marco completo o no.