[关闭]
@Rays 2017-08-30T11:31:12.000000Z 字数 1328 阅读 1724

ASP.NET Core 2加入了Razor页面特性

语言开发 Microsoft


摘要: ASP.NET Core 2提供了多个新特性,包括Razor页面、新的模块以及一系列意在简化开发的改进。对于那些需求更强大特性的开发人员,ASP.NET Core 2可适合各种规模的项目,支持在合理的默认值中加入更详细的配置选项。

作者: Jeff Martin

正文:

最近发布的ASP.NET Core 2.0,连同新发布的.NET Core 2Entity Framework Core 2.0,一并构成了.NET Core 2.0生态中的三元组。此发布给出了多个新特性和改进,其中包括通用性能的改进、Razor页面、新的开发模板以及更好的Azure Diagnostics支持。

让我们首先看一下Razor页面。Razor页面类似于标准的MVC视图,只是通过使用@Page指令标明自身为Razor页面。Microsoft现在考虑将Razor页面作为ASP.NET Core中构建Web应用UI的推荐方法,当然开发人员也可自由地选择最适合自己的方法。使用Razor页面编写的Web页面,无需经过控制器即可直接处理请求,正如在标准的ASP.NET MVC应用中那样。

转向ASP.NET Core 2平台的另一个好处是简化了对软件包的引用。在项目的.csproj文件中,仅需引用Microsoft.AspNetCore.All。这是一个Meta-package,它在简化了引用问题的同时,确保应用所需的所有库是可用的。而在发布Web应用时,只有应用所需的库才会与应用一并发布,避免了文件膨胀。另一个优点是Meta-package可使应用的启动速度更快,这是因为它使用了.NET Core Runtime Store,其中预编译了所有的软件包和文件。虽然这一Meta-package提供了一种便利的软件包引用方式,但是开发人员依然可以继续在Microsoft.AspNetCore.*中直接引用特定的软件包。

为了支持新的特性,ASP.NET Core 2扩充一些模板,它们来自于Razore页面(模板命名为“Web Application”)、Web API、基于MVC的Web应用、Angular、React.js和React.js& Redux等。所有这些模板也可以通过命令行使用,不必依赖于Visual Studio 2017。

在明确声明的情况下,Razor语言引擎提供对C# 7.1特性的支持。为此,需在项目文件中需添加该如下属性:<LangVersion>latest</LangVersion>。更改将在重新加载解决方案后生效。

规划将应用部署到Azure的开发人员将会看到,ASP.NET Core 2构建的应用不需作任何更改,就可使用Azure App Service。应用的部署可以在VS2017中执行,也可直接在Azure门户上执行。

使用已有ASP.NET Core 1.X软件包的开发人员,要详细了解如何升级应用到ASP.NET Core 2.0,可以参考Microsoft的升级指南。使用ASP.NET 2.0需下载.NET Core 2 SDK,它是独立于VS2017提供的。

查看英文原文: ASP.NET Core 2 Gains Razor Pages

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注