ASP.NET Core のイメージ タグ ヘルパー
著者: Peter Kellner
イメージ タグ ヘルパーは <img>
タグを強化し、静的イメージ ファイルにキャッシュ バスティング動作を提供します。
キャッシュ バスティング文字列は、アセットの URL に追加される、静的なイメージ ファイルのハッシュを表す一意の値です。 一意の文字列は、クライアントのキャッシュからではなく、ホスト Web サーバーからイメージの再読み込みを行うよう、クライアント (および一部のプロキシ) に要求します。
イメージ ソース (src
) がホスト Web サーバー上の静的ファイルの場合:
- 一意のキャッシュ バスティング文字列は、クエリ パラメーターとしてイメージ ソースに追加されます。
- ホスト Web サーバーのファイルが変更された場合、更新された要求パラメーターを含む一意の要求 URL が確実に生成されます。
タグ ヘルパーの概要については、「ASP.NET Core のタグ ヘルパー」を参照してください。
イメージ タグ ヘルパーの属性
src
イメージ タグ ヘルパーをアクティブにするには、<img>
要素に src
属性が必要です。
イメージ ソース (src
) は、サーバー上の物理静的ファイルをポイントしている必要があります。 src
がリモート URI の場合は、キャッシュ バスティング クエリ文字列パラメーターは生成されません。
asp-append-version
asp-append-version
属性の値が true
で、src
属性も指定されている場合、イメージ タグ ヘルパーが呼び出されます。
イメージ タグ ヘルパーを使用する例を次に示します。
<img src="~/images/asplogo.png" asp-append-version="true">
静的ファイルがディレクトリ /wwwroot/images/ に存在する場合、生成された HTML は次のようになります (ハッシュは異なります)。
<img src="/images/asplogo.png?v=Kl_dqr9NVtnMdsM2MUg4qthUnWZm5T1fCEimBPWDNgM">
パラメーター v
に割り当てられた値は、ディスク上の asplogo.png
ファイルのハッシュ値です。 Web サーバーが静的ファイルに対する読み取りアクセスを取得できない場合、v
パラメーターは表示されるマークアップの src
属性に追加されません。
wwwroot
外部の静的ファイルのバージョンを生成するタグ ヘルパーについては、「複数の場所からファイルを提供する」を参照してください
ハッシュ キャッシュの動作
イメージ タグ ヘルパーはローカル Web サーバーでキャッシュ プロバイダーを使用して、特定のファイルの計算された Sha512
ハッシュを格納します。 ファイルが複数回要求された場合、ハッシュは再計算されません。 キャッシュは、ファイルの Sha512
ハッシュが計算されたときにファイルにアタッチされるファイル ウォッチャーによって無効になります。 ディスク上のファイルが変更されると、新しいハッシュが計算されてキャッシュされます。
その他のリソース
ASP.NET Core
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示