Microsoft は ASP.NET Core 1.1 preview をリリースした。同バージョンは新しいミドルウェアコンポーネント、Windows 向け WebListener サーバ、Razaor ビューコンパイル、Azure 関連機能の追加を伴っている。
新しいミドルウェアコンポーネントと機能拡張
本リリースでは、特定のコントローラまたはアクションでこれらのミドルウェアコンポーネントを使用することができる。同コンポーネントは MiddlewareFilterAttribute を利用して MVC リソースフィルタとして使用できる。アプリケーション全体ではなく、特定のアクションまたはコントローラに対して、レスポンス圧縮またはキャッシングを構成するといったことができる。
URL 書き換えは IIS の機能であり、HTTP モジュールとしていくつかのバージョンが存在する。本プレビューにて URL 書き換えがミドルウェアコンポーネントに戻る。同コンポーネントは IIS 標準の XML フォーマットルール、Apache Mod_Rewrite 構文、Web アプリケーション内で直接コーディングした C# メソッドを使用する方式を利用して構成できる。
ASP.NET Core 1.1 は 2つの新しいミドルウェアであるレスポンスキャッシング、レスポンス圧縮が導入されている。レスポンスキャッシュは ASP.NET MVC の OutputCacheAttribute の後継となる。
Razor ビューのコンパイル
ASP.NET MVC の前バージョンでは、実行時ではなく展開時にビューのコンパイルが発生するようにWebサイトをプリコンパイルする方法が存在した。これにより、展開後の初回ページロード時に遅延が発生しない。ASP.NET Core 1.1 にて Razorビューのプリコンパイル機能が利用可能になる。ビューコンパイラはアプリケーションの project.json 対し、"tools"セクションにパッケージの参照を加えて追加される。パッケージ復元後に dotnet razor-precompile コマンドを実行することで Razor ビューをプリコンパイルする。
WebListener Server for Windows
WebListener は Windows Http Server API 上に構築されたサーバーだ。WebListenerは Windows 認証、ポート共有、HTTPS with SNI、HTTP/2 over TLS (Windows 10)、直接ファイル送信、レスポンスキャッシング WebSockets(Windows 8)等のプラットフォーム依存の機能を提供する。
Azure 関連機能
AzureAppServicesIntegration パッケージは Azure App Service にログ送信を可能にする。ILogger/ILoggerFactory 抽象クラスを利用して出力されたログメッセージは Azure ポータルにおける App Service 設定 の Diagnostics Logs セクションで設定された場所に移動される。
AzureKeyVault パッケージは Azure Key Vault 設定プロバイダを提供する。どう機能を利用して、アプリケーション開始時に Key Vault シークレットから構成データを取得してメモリに保持し、ASP.NET Core の抽象クラスを用いて構成データにアクセスすることが可能になる。
DataProtection は ASP.NET Coreで導入され、暗号化APIを提供する。本プレビューでは、Azure Storage と Redis にデータ保護キーを格納するため 2つのパッケージが用意されている。同パッケージを利用して、ロードバランシングのシナリオで 複数のWebサイトインスタンス間や複数のサーバー間でキーを共有可能となる。