[翻訳]ASP.NET CoreはNET 5プレビュー7での更新
6015 ワード
原文:ASP.NET Core Updates in .NET 5 Preview 7作者:Sourabh時間:2020年7月21日
.NET 5プレビュー7を使用して評価できるようになりました.このリリースの新機能です. Blazor WebAssemblyアプリケーションが使用できるようになりました.NET 5開発 Blazor WebAssemblyのデバッグ要件 を更新 Blazorのアクセス性向上 Blazorのパフォーマンス向上 証明書認証性能向上 HTTP/2 PINGフレーム を送信する.は、Kestrelソケット伝送における他のターミナルタイプ をサポートする. Kestrelのカスタムヘッダ復号 その他の小さな改良
はい.NET 5プレビュー7でASPの使用を開始する.NET Core、インストールしてください.NET 5 SDK.
Visual Studio 2019 16.7プレビュー5以降を使用する必要があります.NET 5プレビュー7.Visual Studio for Macの最新プレビュー版もサポートされています.NET 5. 要将NET 5はVisual Studioコードとともに使用しますので、最新バージョンのC#拡張子をインストールしてください.
既存のASPをNET Coreアプリケーションから.NET 5 Preview 6にアップグレードNET 5 Preview 7、次の操作を行います.はすべてのMicrosoftを使用します.AspNetCore.* パッケージ参照は はすべてのMicrosoftを使用します.Extensions.* パッケージ参照は System.Net.Http.Jsonパケット参照は
参照.NET 5のASP.NET Coreの重大な変更の完全なリスト.
既存のBlazor WebAssemblyプロジェクトをアップグレードするには、次のプロパティを更新します.
から
に着く
さらに、
Blazor WebAssembly 3.2アプリケーションはアクセスできません.NET Standard 2.1 APIセット.このバージョンでは、Blazor WebAssemblyプロジェクトが.NET 5(
Visual StudioコードでBlazor WebAssemblyアプリケーションのデバッグを有効にするには、JavaScriptデバッガ(Nightly)拡張子をインストールする必要がありました.JavaScriptデバッガの拡張はVSコードの一部として提供されているため、この機能は不要です.JavaScriptデバッガ拡張プログラムを以前にインストール(夜間)した場合は、アンインストールできます.Visual Studioコード設定でJavaScriptデバッガのプレビュー版を有効にする必要があります.
これで、認証に失敗すると、
.NET 5のBlazor WebAssemblyの主な投資分野の1つは、ランタイムパフォーマンスの向上です.これは多方面の努力です.以下に、最適化が必要な高度な分野を示します. .NET運転時実行 JSONシーケンス化 JavaScript相互運用 Blazorコンポーネントレンダリング 絶えず改善するNET 5のBlazor WebAssemblyランタイムパフォーマンス.このバージョンには、今後のパフォーマンスの改善が含まれています.NET 5は、このパフォーマンスの結果に関する詳細情報を更新します.
私たちはASP.NET Coreでは証明書認証にキャッシュが追加されています.証明書検証をキャッシュすると、証明書検証のパフォーマンスが大幅に向上します.ベンチマークテストでは、キャッシュを有効にすると、1秒あたりのリクエスト速度が400%向上したことが明らかになりました.
アプリケーションを変更することなく、パフォーマンスの向上を実現します.デフォルトでは、キャッシュはオンです.必要に応じて、キャッシュを調整または無効にするオプションがあります.
ドキュメントにASPについて見つけます.NET Coreの証明書認証の詳細.
HTTP/2は、アイドル接続がまだ有効であることを確認するためにPINGフレームを送信する機構を有する.この機能は、長期にわたってアイドル状態にあるが、アクティブな長寿命ストリーム(例えば、gRPCストリーム)のみを間欠的に表示する場合に特に有用である.KestrelServerOptionsで制限を設定することで、定期PINGフレームをKestrelで送信する機能を追加しました.
デフォルトではUTF-8ではなくタイトル名に基づいて、どの
は、 のデフォルトでは、マスターからバインドされたパラメータと属性が必要とされています. 空の注釈をASPに適用し始めました.NET Coreプログラムセット.私たちはいるつもりです.NET 5の公開の間、フレームワークの一般的な共通API表面の多くについてコメントする. では、エンドポイントルーティングを使用するときの許可は、エンドポイントインスタンスではなく
私たちはあなたが好きであることを望んでいます.NET 5のこのバージョンのASP.NET Core! 私たちはあなたの最新について聞きたいです.NET 5バージョンの経験.GitHubに質問を提出することで、ご意見をお伺いします.
ASPをお試しいただき、ありがとうございます.NET Core!
.NET 5プレビュー7を使用して評価できるようになりました.このリリースの新機能です.
はじめに
はい.NET 5プレビュー7でASPの使用を開始する.NET Core、インストールしてください.NET 5 SDK.
Visual Studio 2019 16.7プレビュー5以降を使用する必要があります.NET 5プレビュー7.Visual Studio for Macの最新プレビュー版もサポートされています.NET 5. 要将NET 5はVisual Studioコードとともに使用しますので、最新バージョンのC#拡張子をインストールしてください.
既存のプロジェクトのアップグレード
既存のASPをNET Coreアプリケーションから.NET 5 Preview 6にアップグレードNET 5 Preview 7、次の操作を行います.
5.0.0-preview.7.*
に更新されました.5.0.0-preview.7.*
に更新されました.5.0.0-preview.7.*
に更新された.参照.NET 5のASP.NET Coreの重大な変更の完全なリスト.
既存のBlazor WebAssemblyプロジェクトのアップグレード
既存のBlazor WebAssemblyプロジェクトをアップグレードするには、次のプロパティを更新します.
から
netstandard2.1 3.0
に着く
net5.0 browser-wasm true
さらに、
Microsoft.AspNetCore.Components.WebAssembly.Build
に対するすべてのパッケージ参照を削除します.これは不要です.新しいのは何ですか。Blazor WebAssemblyアプリケーションは現在.NET 5
Blazor WebAssembly 3.2アプリケーションはアクセスできません.NET Standard 2.1 APIセット.このバージョンでは、Blazor WebAssemblyプロジェクトが.NET 5(
net5.0
)がターゲットであり、より広範なAPIセットにアクセスすることができる.はい.NET 5でAPIを実装するBlazor WebAssemblyのサポートが進行中であるため、実行時にPlatformNotSupportedException
が発生するAPIもあります.特定のAPIのサポートが不足しているため、お客様のフィードバックを喜んで受け取ります.Blazor WebAssemblyのデバッグ要件が更新されました
Visual StudioコードでBlazor WebAssemblyアプリケーションのデバッグを有効にするには、JavaScriptデバッガ(Nightly)拡張子をインストールする必要がありました.JavaScriptデバッガの拡張はVSコードの一部として提供されているため、この機能は不要です.JavaScriptデバッガ拡張プログラムを以前にインストール(夜間)した場合は、アンインストールできます.Visual Studioコード設定でJavaScriptデバッガのプレビュー版を有効にする必要があります.
Blazorのアクセス性の向上
これで、認証に失敗すると、
InputBase
から派生した内蔵Blazor入力コンポーネントが自動的にaria-invalid
を無効にします.Blazorのパフォーマンス向上
.NET 5のBlazor WebAssemblyの主な投資分野の1つは、ランタイムパフォーマンスの向上です.これは多方面の努力です.以下に、最適化が必要な高度な分野を示します.
証明書認証のパフォーマンスの向上
私たちはASP.NET Coreでは証明書認証にキャッシュが追加されています.証明書検証をキャッシュすると、証明書検証のパフォーマンスが大幅に向上します.ベンチマークテストでは、キャッシュを有効にすると、1秒あたりのリクエスト速度が400%向上したことが明らかになりました.
アプリケーションを変更することなく、パフォーマンスの向上を実現します.デフォルトでは、キャッシュはオンです.必要に応じて、キャッシュを調整または無効にするオプションがあります.
ドキュメントにASPについて見つけます.NET Coreの証明書認証の詳細.
HTTP/2 PINGフレームの送信
HTTP/2は、アイドル接続がまだ有効であることを確認するためにPINGフレームを送信する機構を有する.この機能は、長期にわたってアイドル状態にあるが、アクティブな長寿命ストリーム(例えば、gRPCストリーム)のみを間欠的に表示する場合に特に有用である.KestrelServerOptionsで制限を設定することで、定期PINGフレームをKestrelで送信する機能を追加しました.
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel(options =>
{
options.Limits.Http2.KeepAlivePingInterval = TimeSpan.FromSeconds(10);
options.Limits.Http2.KeepAlivePingTimeout = TimeSpan.FromSeconds(1);
});
webBuilder.UseStartup();
});
Kestrelソケット転送の他のターミナルタイプをサポート
System.Net.Sockets
に導入された新しいAPIに基づいて、Kestrelのソケット転送(デフォルト)は、既存のファイルハンドルとUnixドメインソケットにバインドできます.既存のファイルハンドルへのバインドをサポートし、libuv転送を使用せずに既存のSystemd統合を使用できます.Kestrelでのカスタムヘッダ復号
デフォルトではUTF-8ではなくタイトル名に基づいて、どの
System.Text.Encoding
を使用して入力されたタイトルを解釈するかを指定する機能を追加しました.KestrelServerOptions
にRequestHeaderEncodingSelector
プロパティを設定して、使用するエンコーディングを指定できます.public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel(options =>
{
options.RequestHeaderEncodingSelector = encoding =>
{
switch (encoding)
{
case "Host":
return System.Text.Encoding.Latin1;
default:
return System.Text.Encoding.UTF8;
}
};
});
webBuilder.UseStartup();
});
その他の改善点
CompareAttribute
をRazor Pageモデルの属性に適用できるようになった.HttpContext
を受信する.これにより、EndpointクラスからアクセスできないRouteData
およびHttpContext
の他の属性へのミドルウェアアクセスが許可されます.context.GetEndpoint()
を使用して、コンテキストからエンドポイントを取得できます.System.Diagnostics.Activity
のデフォルトフォーマットは、W 3 Cフォーマットにデフォルト設定されます.デフォルトではASP.NET Coreの分散トレースサポートは、より多くのフレームワークと相互運用できます.FromBodyAttribute
は、これらのパラメータまたは属性をオプションと見なすことができるオプションの構成をサポートします.public IActionResult Post([FromBody(EmptyBodyBehavior = EmptyBodyBehavior.Allow)] MyModel model) { ... }
フィードバックを与える
私たちはあなたが好きであることを望んでいます.NET 5のこのバージョンのASP.NET Core! 私たちはあなたの最新について聞きたいです.NET 5バージョンの経験.GitHubに質問を提出することで、ご意見をお伺いします.
ASPをお試しいただき、ありがとうございます.NET Core!