ASP.NET Core (.NET Core)
使用.Net Core运行时的ASP.NET Core可以支持跨平台(Windows, Mac, and Linux (包括Docker)),服务器不需要安装.Net Core,它的依赖与应用程序捆绑在一起。而且它是高性能的开源的框架。它能够在您自己的进程中托管IIS,Nginx,Apache,Docker或自托管。ASP.NET Core完全作为NuGet包发布。这允许您优化您的应用程序,使其仅包含必要的NuGet包。实际上,面向.NET Core的ASP.NET Core 2.x应用程序只需要一个NuGet包。应用程序表面积较小的好处,可以有更严格的安全性,更少的服务和更高的性能。可以使用 Kestrel web server。可以使用Visual Studio Code写代码。它现在还不支持Aspx, WPF, WCF and WebServices。它内置依赖注入的支持。可以使用coreclr,它是带有.net core的asp.net核心的运行时。
ASP.NET Core (.NET Framework)
使用.NET Framework运行时的ASP.NET Core可以支持桌面应用,也可以说是完整版。但这些应用程序只能在Windows上运行,但有关ASP.NET Core的其他所有内容的行为方式都相同。另一方面,.Net框架在2005年之前就开始了,它不断添加新功能,使其成为一个复杂的框架和更重的框架。它不是跨平台的。它支持Aspx,WPF,WCF和WebServices。
根据以往的测试数据,两者都将具有比ASP.NET 4.6更高的性能,但.NET Core目前是最高的:
- 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