ASP.NET Core 2.2.0-preview3 发布了,主要更新内容如下: RoutingASP.NET Core 2.2 中引入了参数转化器(Parameter Transformers)的概念。参数转化器通过转换参数的路径值来自定义生成的路径,为开发人员提供新选项。 Link Generation添加了一个 LinkGenerator 新服务,它是一个单例服务,支持使用/不使用 HttpContext 生成路径和绝对 URI: return _linkGenerator.GetPathByAction( httpContext, controller: "Home", action: "Index", values: new { id=42 }); Health ChecksDbContextHealthCheck添加了一个新的基于 DbContext 的状态检查,在使用 Entity Framework Core 时可用: // Registers required services for health checks services.AddHealthChecks() // Registers a health check for the MyContext type. By default the name of the health check will be the // name of the DbContext type. There are other options available through AddDbContextCheck to configure // failure status, tags, and custom test query. .AddDbContextCheck<MyContext>(); Health Check Publisher添加了 IHealthCheckPublisher 接口: Task PublishAsync(HealthReport report, CancellationToken cancellationToken); 如果向 DI 添加 IHealthCheckPublisher,则运行状态检查系统将定期执行状态检查,并使用结果调用 PublishAsync。 Tags添加了在注册时使用字符串列表标记运行状况检查的功能: services.AddHealthChecks() .AddDbContextCheck<MyContext>(tags: new[] { "db" }); 这样就可以通过 tag 来过滤执行: app.UseHealthChecks("/liveness", new HealthCheckOptions { Predicate = (_) => false }); app.UseHealthChecks("/readiness", new HealthCheckOptions { Predicate = (check) => check.Tags.Contains("db") }); Validation Performance Improvements添加了一个允许 MVC 进行短路验证的功能,这带来显着的性能改进: HTTP Client Performance Improvements通过改进连接池锁抢占,对
SocketsHttpHandler 进行了一些重要的性能改进,这对于发出许多 HTTP
请求的应用程序,例如某些微服务架构,将会显着提高吞吐量。内部基准测试表明,在负载下,HttpClient 吞吐量在 Linux 上提高了
60%,在 Windows 上提高了 20%。测试效果如下所示: ASP.NET Core Module添加了使用新的 IIS 进程内托管模型时检测客户端断开连接的能力,当客户端断开连接时,会触发 HttpContext.RequestAborted 取消 token。 ASP.NET 核心模块还具有增强的诊断日志,可通过新的处理程序设置或环境变量进行配置,从而提供更高保真度的诊断信息。 <?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" /> </handlers> <aspNetCore processPath="dotnet" arguments=".\clientdisconnect.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess"> <handlerSettings> <handlerSetting name="debugFile" value="debug.txt" /> <handlerSetting name="debugLevel" value="TRACE" /> </handlerSettings> </aspNetCore> </system.webServer> </location> </configuration> SignalR Java Client
详情查看发布公告。 下载地址:https://blogs.msdn.microsoft.com/webdev/2018/10/17/asp-net-core-2-2-0-preview3-now-available/ |