Domanda

Sto usando "SquishIT" per combinare i miei file .js e .css. Il problema è che il pacchetto SquishIT si traduce in un 304 (non modificato) quando tutte le altre risorse sono 200 (dalla cache).Se metto i file nel modo normale, ottengo il risultato desiderato 200. Un esempio del mio codice:

@MvcHtmlString.Create(@Bundle.JavaScript().Add("~/Scripts/Libs/jquery.cookie.js").Add("~/Scripts/Libs/jquery.dynatree.min.js").Add("~/Scripts/Libs/jquery.json-2.3.min.js").Add("~/Scripts/Libs/jsrender.js").Add("~/Scripts/Libs/jstorage.min.js").Add("~/Scripts/Common/utils.js").Add("~/Scripts/DataServices/AccountDataServices.js").Add("~/Scripts/AccountSelection.js").WithMinifier<SquishIt.Framework.Minifiers.JavaScript.MsMinifier>().Render("~/Scripts/AccSelectionscriptBandle_#.js"))
.

Il risultato:

Inserisci Descrizione dell'immagine qui

Modifica : Sto usando "debug= false"; Tutte le altre risorse sono 200 (dalla cache)

È stato utile?

Soluzione

Credo che tu sia sulla strada giusta, ma devi fare un ulteriore passo avanti e aggiungere un'altra opzione alla tua impostazione clientcache (cachecontrolcustom="must-revalidate"):

    <staticContent>
      <!-- A clients cache will expire 90 days after it is loaded -->
      <!-- each static item is revalidated against the server to see if the LastModifiedDate is different than the If-Modified-Since date-->
      <!-- http://msdn.microsoft.com/en-us/library/ms689443.aspx -->
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="90.00:00:00" cacheControlCustom="must-revalidate"/>
    </staticContent>
.

La cachecontrolcustom costringe un controllo contro il server per confrontare l'ultima voltadAtedDate e la modifica IF-modificata dal particolare file statico.Impostazione della cachecontrolmaxage ti porterà solo finora, specialmente quando si modifica il file sul server, il client potrebbe non riattivare automaticamente il file.L'impostazione che hai (500 giorni) tirerà solo il file dopo che è stato sulla macchina del client per 500 giorni.Se questa è la tua intenzione, grande.(Inoltre, Squishit maschererà un po 'del comportamento nella cache perché la modifica di un file JS / CSS all'interno di un pacchetto, genererà un nome di hash diverso.)

L'URL all'interno del commento potrebbe spiegare un po 'di più da MSDN.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top