Utilizzo un VirtualPathProvider
che attualmente associa un percorso virtuale a una directory esterna alla soluzione. Lo sto costruendo principalmente per l'auto esercizio. Questo è totalmente equivalente ad avere un soft link o un hard-link NTFS nella directory della soluzione.Memorizzazione nella cache delle risorse statiche restituite tramite VirtualPathProvider
In ogni caso, sono riuscito a caricare le immagini statiche da quella directory virtuale utilizzando il mio provider personalizzato.
Ora il problema è che il browser non memorizza nella cache le immagini. E il server non pensa nemmeno a restituire informazioni sulla cache (come ETag).
Ecco quello che ho fatto:
GetFile(path).Open()
rendimentiFileStream
viaFile.Open()
- ho fatto non esclusione
GetCacheKey
eGetCacheDependencies
- ho l'override
GetFileHash
restituire l'hash Murmur (sembra che ci sia il più veloce, anche di CRC-32) e lo ha testato - Durante il debug,
GetFileHash
non viene richiamato nel mio fornitore
CTRL-F5
solo ing restituisce i seguenti intestazioni (nessun riferimento alla cache)
Cache-Control private
Content-Length 476
Content-Type image/png
Date Sat, 29 Dec 2012 21:25:54 GMT
Server Microsoft-IIS/8.0
X-AspNet-Version 4.0.30319
X-Powered-By ASP.NET
X-SourceFiles [...]
Attualmente sto debug nel server di eseguire il debug di Visual Studio e Firefox dotato di Firebug.
Come esempio, qui è quello che mi aspettavo (http://i.stack.imgur.com/3mn3d.png)
Accept-Ranges bytes
Cache-Control max-age=315360000
Content-Length 1059
Content-Type image/png
Date Sat, 29 Dec 2012 21:35:29 GMT
Etag "7d636a8ef932ed081c16ace6f87b16e6"
Expires Fri, 12 Feb 2038 09:58:39 GMT
Last-Modified Tue, 14 Feb 2012 22:07:18 GMT
Server ECAcc (fcn/4089)
X-Cache HIT
domanda è ovvia: come posso ottenere il browser non ricaricare queste risorse statiche?
Puoi spiegare la soluzione al problema della cache? –