ASP.Net 5 中的新功能 :: 功能说明
已发表: 2014-11-27 ASP.NET 5.0 介绍
ASP.NET 5是从头开始构建的,并倾向于 .NET 家族的传统来构建现代 Web 应用程序。 ASP.Net 5.0 中新增的功能是根据客户的请求和反馈构建的,以实现用于在本地部署或运行的应用程序的优化开发框架。 ASP.Net 由紧凑的组件组成,开销可以忽略不计,因此开发人员可以在构建应用程序时感受到灵活性。
ASP.Net 5.0 中引入的更改正是针对创建现代 Web 应用程序。 这些变化肯定会简化应用程序的开发过程、网络托管和维护。 旧版应用程序无需任何修改即可在新版本的 ASP.NET 上运行。 但是,为了利用 ASP.NET 5 中的新功能,您需要将代码移植到新框架。
ASP.NET 5 的特点
在单一编程模型中结合 MVC、Web API 和网页
在 ASP.NET 5 中,MVC、Web API 和网页被捆绑到一个名为 MVC 6 的框架中。这种方法消除了框架中的重复项,并使开发人员更容易构建应用程序。 因此,无需根据您是在 MVC、Web API 还是网页上下文中编写不同的代码。
并排使用不同的 .NET Framework
当您的应用程序依赖于特定版本的 .NET Framework 时,您的所有应用程序都必须运行相同版本的 .NET。 如果您希望您的某些应用程序使用最新版本的 .NET,您可能会不确定您的所有旧应用程序是否可以在新版本中正常工作。
为了克服这种情况,使用 ASP.NET 5,您可以在部署包中定义依赖项,以便为每个应用指定要使用的 .NET 版本。 对于某些应用程序,您可以享受最新 .NET 版本的好处,而其他应用程序则坚持使用旧 .NET 版本。 所有这些不同版本的 .NET 都可以并行运行而不会出现任何问题。
能够在 IIS 上自托管或托管
ASP.NET 5 提供了在 IIS 上托管应用程序或在您自己的进程中自行托管应用程序的灵活性。 当您构建面向 Core CLR 的应用程序时,您可以使用捆绑在部署包中的每个依赖项来部署它。 因此,您的应用程序及其依赖项是完全独立的,并且独立于 .NET 的系统安装。 这项新功能使您可以自由地将应用程序托管在任何类型的设备或托管平台上。 您需要做的只是将您的项目部署到该主机。
检查浏览器中的更改而不重新构建项目
Visual Studio 2015 为 ASP.NET 应用程序提供了轻量级的开发人员体验。 只需对代码进行更改、保存并刷新浏览器即可。 您可以在 Web 浏览器中查看代码更改,而无需重新构建项目。
新的灵活和跨平台的运行时,可以在 OS X 和 Linux 上运行 Mono 运行时
以前,.NET Framework 是作为单个安装交付的。 .NET 的每个版本都逐渐添加了功能,但从未删除。 因此,框架的规模不断扩大。 这种方法将确保安装了 .NET 的 Windows 机器将支持每个 .NET 应用程序,但可能每个应用程序都没有使用所有已安装的功能。
ASP.NET 5 为您提供了更大的灵活性,为您提供了三个运行时:
- 完整的 .NET CLR:完整的 .NET CLR 是 Visual Studio 项目的默认运行时。 它是向后兼容的最佳选择,因为它提供了整个 API 集。
- Core CLR(云优化运行时): Core CLR 是 ASP.NET 5 项目的纯模块化运行时。 它已被设计成组件,因此您只需要在应用程序中包含所需的功能。 Core CLR 大约是 11 MB,而不是完整的 .NET CLR 大约 200 MB。
- 跨平台 CLR:微软将为 Linux 和 Mac OS X 发布跨平台运行时。它将使您能够在 Mac 和 Linux 机器上开发和运行 .NET 应用程序。 在它发布之前,您可以使用 Mono CLR 进行跨平台开发。 默认情况下,Visual Studio 项目使用完整的 .NET CLR。 您可以在项目的配置属性中指定 Core CLR。
用于最高吞吐量的模块化 HTTP 请求管道
在 ASP.NET 5 中,引入了模块化且快速的新 HTTP 请求管道。 使用这个新管道,您将能够仅添加运行应用程序所需的组件。 这种方法减少了管道中的开销,因此您将从应用程序中获得改进的输出。
通过 NuGet 包管理器进行依赖管理
使用 ASP.NET 5,您可以管理项目中的依赖项,无需向项目添加程序集引用。 相反,您可以通过 NuGet 包管理器添加 NuGet 包,也可以编辑列出项目中使用的 NuGet 包和版本的 JSON 文件 (project.json)。 要添加依赖项,只需在 project.json 文件中键入 NuGet 包的名称和版本号。
project.json 文件仅包含直接添加到项目中的 NuGet 包。 如果添加依赖于某些其他包的 NuGet 包,则会加载这些辅助依赖项,但不会在 project.json 文件中列出。 这种方法将使 project.json 文件不那么笨拙并且更易于管理。 您可以通过任何文本编辑器在 Project.json 文件中添加依赖项。
云优化环境配置
基于 ASP.NET 5 构建的项目针对云平台进行了高度优化,以实现轻松部署。 Visual Studio 2015 引入了新的环境配置来代替 Web.config 文件。 它可以从各种来源(例如 JSON、XML 或环境变量)请求命名值。 您可以为每个环境指定值,部署后您的应用程序只需读取正确的值。
通过 .NET 基金会开源,并在 GitHub 中进行贡献
GitHub 上提供了整个 ASP.NET 5 代码。 GitHub 将用作所有开发的存储库,因此您可以查看进行了哪些更改以及进行更改的时间。 您可以下载代码、构建您自己的 ASP.NET 功能自定义实现并在 GitHub 上提交更改。
旧版应用程序无后顾之忧
在早期版本的 ASP.NET 上构建的应用程序将继续使用新的 .NET Framework。 如果您不需要 ASP.NET 5 中的新功能,则无需更新或移植这些应用程序。
结论
当然,微软在 ASP.NET 5 中进行了一些革命性的设计级别更改,以开发现代 Web 应用程序。 ASP.NET 5 最吸引人的部分是它是完全开源的并且可以在 GitHub 上获得。 Microsoft 在 GitHub 上开发了 ASP.NET 5,因此开发人员可以理解代码并为其增强做出贡献。 通过使 ASP.Net 开源,Microsoft 已邀请社区和开发人员下载代码并构建自己的 ASP.NET 定制实现。