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,只能在Windows上运行。虽然它允许开发者利用现有的.NET Framework库和功能,但它没有.NET Core的跨平台能力。
根据以往的测试数据,两者都将具有比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