2.3.2 ASP.NET Core 2.1新增特性
微软于2018年5月发布了ASP.NET Core 2.1,该版本的新特性主要包括以下方面。
(1)SignalR
SignalR是用于执行实时操作的Web框架,使用它可以创建类似于在线实时聊天的Web应用程序。ASP.NET Core 2.1重写了原来SignalR框架,并做了一些改进与优化。
(2)HTTPS
ASP.NET Core 2.1默认启用了HTTPS,使用HTTPS能够保护Web应用程序的安全。目前,越来越多的浏览器会将非HTTPS类的网站标记为不安全。在创建项目时,ASP.NET Core 2.1默认开启了HTTPS,无论是在开发还是在生产环境中,HTTPS都非常容易配置和使用。
(3)Razor类库
在ASP.NET Core 2.1中,使用新的Razor SDK能够在类库中创建Razor页面文件,因此可以创建基于Razor UI的类库并在多个项目中共享,甚至发布成一个NuGet包。
(4)[ApiController]特性和ActionResult<T>类
ASP.NET Core 2.1新增了[ApiController]特性及ActionResult<T>类,使用它们能够让API更清晰、描述性更强。[ApiController]特性会对数据进行模型验证,并在验证失败时自动返回400 Bad Request状态码。ActionResult<T>类能够更方便地在Action中返回具体类型或者状态码等结果。
(5)Identity UI类库
ASP.NET Core 2.1提供了一个默认的Identity UI库,通常NuGet可以直接将其添加到项目中,在Startup类库中配置即可使用。
(6)Microsoft.AspNetCore.App
Microsoft.AspNetCore.App是ASP.NET Core 2.1中引入的新元包(meta-package),所有ASP.NET Core 2.1程序在创建时都会默认使用这个元包,而不再使用之前的Microsoft. AspNetCore.All。两者的区别是新元包中移除了原来包中对一些包的引用,如Microsoft. EntityFrameworkCore.Sqlite和Microsoft.Extensions.Caching.Redis等。