在 ASP.NET 4.x 和 ASP.NET Core 之间进行选择
ASP.NET Core 是 ASP.NET 4.x 的重新设计。 本文列出了两者之间的区别。
ASP.NET Core
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。
ASP.NET Core 具有如下优点:
- 生成 Web UI 和 Web API 的统一场景。
- 针对可测试性进行构建。
- Razor Pages 可以使基于页面的编码方式更简单高效。
- 能够在 Windows、macOS 和 Linux 上进行开发和运行。
- 开放源代码和以社区为中心。
- 集成新式客户端框架和开发工作流。
- 基于环境的云就绪配置系统。
- 内置依赖项注入。
- 轻型的高性能模块化 HTTP 请求管道。
- 能够在 IIS、Nginx、Apache、Docker 上进行托管或在自己的进程中进行自托管。
- 定目标到 .NET Core 时,可以使用并行应用版本控制。
- 简化新式 Web 开发的工具。
ASP.NET 4.x
ASP.NET 4.x 是一个成熟的框架,提供在 Windows 上生成基于服务器的企业级 Web 应用所需的服务。
框架选择
下表将 ASP.NET Core 与 ASP.NET 4.x 进行比较。
ASP.NET Core | ASP.NET 4.x |
---|---|
针对 Windows、macOS 或 Linux 进行生成 | 针对 Windows 进行生成 |
Razor 页面 是在 ASP.NET Core 2.x 及更高版本中创建 Web UI 时建议使用的方法。 另请参阅 MVCWeb API 和 SignalR。 | 使用 Web 窗体、SignalR、MVC、Web API、WebHooks 或网页 |
每个计算机多个版本 | 每个计算机一个版本 |
使用 C# 或 F# 通过 Visual Studio、Visual Studio for Mac 或 Visual Studio Code 进行开发 | 使用 C#、VB 或 F# 通过 Visual Studio 进行开发 |
比 ASP.NET 4.x 性能更高 | 良好的性能 |
选择 .NET Framework 或 .NET Core 运行时 | 使用 .NET Framework 运行时 |
有关 .NET Framework 上的 ASP.NET Core 2.x 支持的信息,请参阅面向 .NET Framework 的 ASP.NET Core。
ASP.NET Core 方案
- Razor 页面 是在 ASP.NET Core 2.x 及更高版本中创建 Web UI 时建议使用的方法。
- 网站
- API
- 实时
- 将 ASP.NET Core 应用部署到 Azure