Pregunta

Estoy usando "Squishit" para combinar archivos de mis .js y .css. El problema es que el paquete Squishit da como resultado un 304 (no cambiado) cuando todos los demás recursos son 200 (desde el caché).Si pongo los archivos de la manera regular, obtengo el resultado de 200 deseados. Un ejemplo de mi código:

@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"))

El resultado:

ingrese la descripción de la imagen aquí

Editar : Estoy usando "depuración= falso"; Todos los demás recursos son 200 (desde caché)

¿Fue útil?

Solución

Creo que está en el camino correcto, pero debe ir más allá y agregar una opción más a su configuración de 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>

El CachecontrolCustom obliga a un cheque contra el servidor para comparar la Última modificación y el IF modificado, desde el archivo estático en particular.Configuración del CachecontrolMaxage solo lo llevará hasta ahora, especialmente cuando modifique el archivo en el servidor, es posible que su cliente no vuelva a retirar el archivo automáticamente.La configuración que tiene (500 días) solo retirará el archivo después de que haya estado en la máquina del cliente durante 500 días.Si esa es tu intención, genial.(Además, Squishit enmascarará el comportamiento de almacenamiento en caché porque cambiar un archivo JS / CSS dentro de un paquete, generará un nombre de hash diferente).

La URL dentro del comentario puede explicar un poco más de MSDN.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top