开发手册 欢迎您!
软件开发者资料库

ASP.NET Core (.NET Core) and ASP.NET Core (.NET Framework)区别

ASP.NET Core可以使用.NET Core和.NET Framework运行时,但运行在.NET Core与.NET Framework下ASP.NET Core 有哪些区别呢。本文就主要介绍一下它们之前的区别。

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

.Net Framework运行图

Net Framework

.Net core运行图

Net core