ASP.NET Core Web (.NET Core) 与 ASP.NET Core Web (.NET Framework) 有什么区别?
.NET Framework 是否提供与 .NET Core 相关的 similar performance?
起初这可能令人困惑,但重要的是要记住:归根结底,“ASP.NET Core”只是一堆可以安装在项目中的 NuGet 包。
.NET Core 上的 ASP.NET Core 是跨平台的 ASP.NET Core。它可以在 Windows、Mac 和 Linux(包括 Docker)上运行。服务器不需要安装 .NET Core - 依赖项可以与应用程序捆绑在一起。
.NET Framework 上的 ASP.NET Core 是“完整”或“桌面”.NET Framework(例如 .NET Framework 4.6.2)上的 ASP.NET Core。这些应用程序只能在 Windows 上运行,但有关 ASP.NET Core 的其他一切都以相同的方式运行。
根据您链接的 benchmarks,两者都将具有比 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 请求/秒
但是,这些基准测试稍旧(2016 年 2 月)并反映了 RTM 之前的代码。如果他们从那以后有所改善,我不会感到惊讶。
带有 .NetCore 的 ASP.NET Core 是一个跨平台(它可以在 Windows、Linux 或其他平台上运行)、高性能、开源框架,用于构建现代、基于云的、连接互联网的应用程序。它能够在您自己的进程中托管在 IIS、Nginx、Apache、Docker 或自托管上。
ASP.NET Core 完全作为 NuGet 包提供。这使您可以优化您的应用程序以仅包含必要的 NuGet 包。事实上,面向 .NET Core 的 ASP.NET Core 2.x 应用程序只需要一个 NuGet 包。较小的应用程序表面积的好处包括更严格的安全性、更少的服务和更高的性能。
无需安装 .Net 框架即可使用 .net 核心应用程序运行 asp.net 核心。带有 .net core 的 ASP.NET Core 应用程序是一个控制台应用程序,它在其 Main 方法中创建一个 Web 服务器。它使用 Kestrel Web 服务器来运行应用程序。
我们还可以使用 Visual Studio Code、Atom 等编辑器来运行应用程序。
它不像现在一样支持 Aspx、WPF、WCF 和 WebServices。它支持内置的依赖注入。使用 coreclr,它是带有 .net 核心的 asp.net 核心中的运行时。
Asp.Core 和 .Net 框架 另一方面,.Net 框架早在 2005 年之前就开始了,它不断添加新功能,使其成为一个有点复杂的框架和更重的框架。它不是跨平台的。它支持 Aspx、WPF、WCF 和 WebServices
https://i.stack.imgur.com/hG22P.png
https://i.stack.imgur.com/nWPth.png
ASP.NET CORE 使用 .NET Core - 所有依赖都是自包含的,可以使用大多数 nuget 包,不能使用 windows 特定包,可以在 windows、linux、Mac 上执行
使用 .NET Framework 的 ASP.NET CORE - 大多数依赖项都是自包含的,仅在 Windows 上执行,可以访问 Windows 特定的 nuget 包,需要在机器上安装目标的 .net 框架版本
不定期副业成功案例分享
netstandard1.1
或更高版本,或者net451
或更高版本)。