net framework entre diferencias diferencia asp and c# .net asp.net-core .net-core

c# - entre - difference between.net core and framework



Diferencia entre ASP.NET Core(.NET Core) y ASP.NET Core(.NET Framework) (3)

¿Cuál es la diferencia entre ASP.NET Core Web (.NET Core) y ASP.NET Core Web (.NET Framework)?

¿y .NET Framework proporciona un rendimiento similar al de .NET Core?


ASP.NET Core con .NetCore es una plataforma multiplataforma (puede ejecutarse en Windows, Linux u otras plataformas), de alto rendimiento y de código abierto para crear aplicaciones modernas, basadas en la nube y conectadas a Internet. Tiene la capacidad de alojar en IIS, Nginx, Apache, Docker o autohospedaje en su propio proceso.

ASP.NET Core se envía completamente como paquetes NuGet . Esto le permite optimizar su aplicación para incluir solo los paquetes NuGet necesarios. De hecho, las aplicaciones ASP.NET Core 2.x dirigidas a .NET Core solo requieren un único paquete NuGet. Los beneficios de una superficie de aplicación más pequeña incluyen una seguridad más estricta, un servicio reducido y un rendimiento mejorado.

No es necesario instalar .Net framework para ejecutar asp.net core con la aplicación .net core. Una aplicación ASP.NET Core con .net core es una aplicación de consola que crea un servidor web en su método Main. Utiliza el servidor web Kestrel para ejecutar la aplicación.

También podemos usar editores como Visual Studio Code, Atom para ejecutar la aplicación.

No es compatible con Aspx, WPF, WCF y WebServices como ahora. Es compatible con la inyección de dependencia incorporada. Utiliza coreclr, que es el tiempo de ejecución en asp.net core con .net core.

Asp.Core con .Net framework .Net framework, por otro lado, comenzó mucho antes de 2005 y siguió agregando nuevas características, lo que lo convierte en un marco un poco complejo y más pesado. No es multiplataforma. Es compatible con Aspx, WPF, WCF y WebServices

Plan de ejecución de .Net Framework

Plan de superación de núcleo .Net


Esto puede ser confuso al principio, pero es importante recordar: al final del día, "ASP.NET Core" es solo un montón de paquetes NuGet que se pueden instalar en su proyecto.

ASP.NET Core en .NET Core es ASP.NET Core multiplataforma. Puede ejecutarse en Windows, Mac y Linux (incluido Docker). El servidor no necesita .NET Core instalado: las dependencias se pueden agrupar con la aplicación.

ASP.NET Core en .NET Framework es ASP.NET Core en el .NET Framework "completo" o "de escritorio" (por ejemplo .NET Framework 4.6.2). Estas aplicaciones solo pueden ejecutarse en Windows, pero todo lo demás sobre ASP.NET Core se comporta de la misma manera.

Según los puntos de referencia que vinculó, ambos tendrán un rendimiento más alto que ASP.NET 4.6, aunque .NET Core es actualmente el más alto:

ASP.NET 4.6: <50k req / sec

ASP.NET Core (CLR): 400k req / sec

ASP.NET Core (.NET Core, Linux): 900k req / sec

ASP.NET Core (.NET Core, Windows):> 1.1m req / sec

Sin embargo, estos puntos de referencia son un poco más antiguos (febrero de 2016) y reflejan el código anterior a RTM. No me sorprendería que hayan mejorado desde entonces.


ASP.NET CORE usando .NET Core : todas las dependencias son independientes, pueden usar la mayoría de los paquetes nuget, no pueden usar paquetes específicos de Windows, pueden ejecutarse en Windows, Linux, Mac

ASP.NET CORE usando .NET Framework : la mayoría de las dependencias son independientes, solo se ejecutan en Windows, tendrán acceso a paquetes específicos de Windows Nuget, necesita la versión de .NET Framework que está instalada en la máquina