@Rays
2017-08-30T19:31:12.000000Z
字数 1328
阅读 1820
语言开发
Microsoft
摘要: ASP.NET Core 2提供了多个新特性,包括Razor页面、新的模块以及一系列意在简化开发的改进。对于那些需求更强大特性的开发人员,ASP.NET Core 2可适合各种规模的项目,支持在合理的默认值中加入更详细的配置选项。
作者: Jeff Martin
正文:
最近发布的ASP.NET Core 2.0,连同新发布的.NET Core 2和Entity 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