Share via


Image-Taghilfsprogramm in ASP.NET Core

Von Peter Kellner

Das Image-Taghilfsprogramm optimiert das <img>-Tag für die Bereitstellung des Cache-Busting-Verhaltens bei statischen Bilddateien.

Eine Cache-Busting-Zeichenfolge ist ein eindeutiger Wert, der den Hash der statischen Bilddatei darstellt, der an die Asset-URL angefügt ist. Die eindeutige Zeichenfolge fordert Clients (und einige Proxys) auf, das Bild erneut vom Hostwebserver zu laden, und nicht über den Cache des Clients.

Wenn es sich bei der Bildquelle (src) um eine statische Datei auf dem Hostwebserver handelt, gilt Folgendes:

  • Eine eindeutige Cache-Busting-Zeichenfolge wird als Abfrageparameter an die Bildquelle angefügt.
  • Eine eindeutige Anforderungs-URL wird erstellt, die den aktualisierten Anforderungsparameter enthält, wenn die Datei auf dem Hostwebserver geändert wird.

Eine Übersicht über Taghilfsprogramme finden Sie unter Taghilfsprogramme in ASP.NET Core.

Attribute von Image-Taghilfsprogrammen

src

Um das Image-Taghilfsprogramm zu aktivieren, wird das src-Attribut im Element <img> benötigt.

Die Bildquelle (src) muss auf eine physische statische Datei auf dem Server verweisen. Wenn src ein Remote-URI ist, wird nicht der Parameter für die Cache-Busting-Abfragezeichenfolge generiert.

asp-append-version

Wenn asp-append-version zusätzlich mit einem true-Wert sowie einem src-Attribut angegeben wird, wird das Image-Taghilfsprogramm aufgerufen.

Im folgenden Beispiel wird ein Image-Taghilfsprogramm verwendet:

<img src="~/images/asplogo.png" asp-append-version="true">

Wenn die statische Datei im Verzeichnis /wwwroot/images/ vorhanden ist, ähnelt der erstellte HTML-Code folgendem (der Hash wird abweichen):

<img src="/images/asplogo.png?v=Kl_dqr9NVtnMdsM2MUg4qthUnWZm5T1fCEimBPWDNgM">

Der dem v-Parameter zugewiesene Wert entspricht dem Hashwert der Datei asplogo.png auf dem Datenträger. Wenn der Webserver den Lesezugriff auf die statische Datei, auf die verwiesen wird, nicht erhalten kann, werden im gerenderten Markup keine v-Parameter dem Attribut src zugefügt.

Informationen darüber, wie ein Taghilfsprogramm eine Version für eine statische Datei außerhalb von „wwwroot“ generiert, finden Sie unter Bereitstellen von Dateien von mehreren Speicherorten.

Hashverhalten beim Zwischenspeichern

Das Image-Taghilfsprogramm verwendet den Cacheanbieter auf dem lokalen Webserver, um den berechneten Sha512-Hash einer angegebenen Datei zu speichern. Wenn die Datei mehrmals angefordert wird, wird der Hash nicht neu berechnet. Der Cache wird durch einen Datei-Watcher ungültig gemacht, der an die Datei angefügt wird, wenn der Sha512-Hash der Datei berechnet wird. Wenn die Datei auf dem Datenträger geändert wird, wird ein neuer Hash berechnet und zwischengespeichert.

Zusätzliche Ressourcen