Helper tag di immagine in ASP.NET Core
L'helper tag di immagine migliora il tag <img>
per rendere disponibile il comportamento di cache-busting per i file di immagine statici.
Una stringa di cache-busting è un valore univoco che rappresenta l'hash del file di immagine statico aggiunto all'URL dell'asset. La stringa univoca richiede ai client (e ad alcuni proxy) di ricaricare l'immagine dal server Web host e non dalla cache del client.
Se l'origine dell'immagine (src
) è un file statico nel server Web host:
- Una stringa di cache-busting univoca viene aggiunta come parametro di query all'origine dell'immagine.
- Se il file nel server Web host cambia, viene generato un URL di richiesta univoco, che include il parametro di richiesta aggiornato.
Per una panoramica degli helper tag, vedere Helper tag in ASP.NET Core.
Attributi dell'helper tag di immagine
src
Per attivare l'helper tag di immagine, è richiesto l'attributo src
per l'elemento <img>
.
L'origine dell'immagine (src
) deve puntare a un file fisico statico nel server. Se src
è un URI remoto, il parametro di stringa di query di cache-busting non viene generato.
asp-append-version
Quando si specifica asp-append-version
con un valore true
insieme a un attributo src
, viene chiamato l'helper tag di immagine.
L'esempio seguente usa un helper tag di immagine:
<img src="~/images/asplogo.png" asp-append-version="true">
Se il file statico esiste nella directory /wwwroot/images/ il codice HTML generato è simile al seguente (l'hash sarà diverso):
<img src="/images/asplogo.png?v=Kl_dqr9NVtnMdsM2MUg4qthUnWZm5T1fCEimBPWDNgM">
Il valore assegnato al parametro v
è il valore hash del asplogo.png
file su disco. Se il server Web non è in grado di ottenere l'accesso in lettura al file statico, non viene aggiunto alcun parametro v
all'attributo src
nel markup di cui viene eseguito il rendering.
Per un helper tag per generare una versione per un file statico all'esterno wwwroot
di , vedere Gestire i file da più posizioni
Comportamento di memorizzazione nella cache dell'hash
L'helper tag di immagine usa il provider di cache nel server Web locale per archiviare l'hash Sha512
calcolato di un determinato file. Se il file è richiesto più volte, l'hash non viene ricalcolato. La cache viene invalidata da un watcher di file che viene associato al file quando viene calcolato l'hash Sha512
del file. Quando il file cambia su disco, viene calcolato e memorizzato nella cache un nuovo hash.