軟體更新丨ASP.NET Core 2.2.0-preview3 發布

軟件更新丨ASP.NET Core 2.2.0-preview3 發佈

關注開源中國OSC頭條號,獲取最新技術資訊


ASP.NET Core 2.2.0-preview3 發佈了,主要更新內容如下:

Routing

ASP.NET Core 2.2 中引入了參數轉化器(Parameter Transformers)的概念。參數轉化器通過轉換參數的路徑值來自定義生成的路徑,為開發人員提供新選項。

Link Generation

添加了一個 LinkGenerator 新服務,它是一個單例服務,支持使用/不使用 HttpContext 生成路徑和絕對 URI:

return _linkGenerator.GetPathByAction(
httpContext,
controller: "Home",
action: "Index",
values: new { id=42 });

Health Checks

DbContextHealthCheck

添加了一個新的基於 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();

Health Check Publisher

添加了 IHealthCheckPublisher 接口:

Task PublishAsync(HealthReport report, CancellationToken cancellationToken);

如果向 DI 添加 IHealthCheckPublisher,則運行狀態檢查系統將定期執行狀態檢查,並使用結果調用 PublishAsync。

Tags

添加了在註冊時使用字符串列表標記運行狀況檢查的功能:

services.AddHealthChecks()
.AddDbContextCheck(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 進行短路驗證的功能,這帶來顯著的性能改進:

軟件更新丨ASP.NET Core 2.2.0-preview3 發佈

HTTP Client Performance Improvements

通過改進連接池鎖搶佔,對 SocketsHttpHandler 進行了一些重要的性能改進,這對於發出許多 HTTP 請求的應用程序,例如某些微服務架構,將會顯著提高吞吐量。內部基準測試表明,在負載下,HttpClient 吞吐量在 Linux 上提高了 60%,在 Windows 上提高了 20%。測試效果如下所示:

軟件更新丨ASP.NET Core 2.2.0-preview3 發佈

軟件更新丨ASP.NET Core 2.2.0-preview3 發佈

軟件更新丨ASP.NET Core 2.2.0-preview3 發佈

軟件更新丨ASP.NET Core 2.2.0-preview3 發佈

ASP.NET Core Module

添加了使用新的 IIS 進程內託管模型時檢測客戶端斷開連接的能力,當客戶端斷開連接時,會觸發 HttpContext.RequestAborted 取消 token。

ASP.NET 核心模塊還具有增強的診斷日誌,可通過新的處理程序設置或環境變量進行配置,從而提供更高保真度的診斷信息。

















SignalR Java Client

  • 使用 RxJava 將所有 API 更改為異步模式。
  • 支持 invoke 方法,允許客戶端代碼等待服務器方法完成。
  • 支持在方法參數和返回值中序列化自定義類型。

詳情查看發佈公告。


分享到:


相關文章: