Esto es algo que nunca he tenido que lidiar con antes, así que me disculpan si me suena ignorante.

La cuestión fundamental de que estoy teniendo es que mientras se trabaja dentro de Visual Studio 2010 en cualquiera de los cambios que hacen parecen estar atrapados en algún tipo de caché.

Por ejemplo, voy a hacer un cambio a una página, ejecutar la solución, y luego tengo que pulsar las teclas Ctrl + F5 para forzar la actualización de la caché para ver los cambios. Esto es con ASP.NET/HTML/CSS & código JavaScript. Misma cosa.

En el pasado de Visual Studio que se usa para simplemente borre el caché cada vez que corrí, por lo que estoy un poco frustrado por decir lo menos.

Además, al implementar la solución a un servidor IIS, lo mismo sucede para los usuarios. A pesar de que un ASP.NET página tenido cambios en ella, los usuarios siguen tirando de una versión en caché hasta que limpiar su caché. He mitigado este problema a un grado por cambio de nombre de los archivos (especialmente javascript) con los números de versión para que el cliente siempre se ve como un nuevo archivo y carga en lugar de cargar desde la memoria caché.

Hay alguna configuración dentro de Visual Studio o en la web.config que podría estar causando esto?

EDIT: Aquí está mi web.archivo de configuración de

<configuration>
  <system.web>
    <sessionState cookieless="UseCookies" timeout="1440" mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424"/>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxx"/>
        <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxx"/>
        <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxx"/>
      </assemblies>
    </compilation>
    <authentication mode="Windows"/>
    <pages>
      <controls>
        <add tagPrefix="ajaxtoolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolKit"/>
      </controls>
    </pages>
  </system.web>
  <system.web.extensions>
    <scripting>
      <webServices>
        <jsonSerialization maxJsonLength="50000000"/>
      </webServices>
    </scripting>
  </system.web.extensions>
</configuration>

OriginalEl autor yoshi0423 | 2013-06-06

1 Comentario

  1. 5

    Recursos de la Web (Css, Js, Imágenes e incluso Html) tomar tiempo para descargar a través de la red, lo que aumenta el tiempo que tarda en cargar una página web (Steve Souders sugiere lleva casi el 80 %, ver aquí) . Almacenamiento en caché de HTTP permite que estos recursos serán salvos, o en la memoria caché, por un navegador o servidor proxy. Una vez que un recurso se almacena en caché, un explorador o un proxy puede referirse a la copia en caché local en lugar de tener que descargarlo de nuevo en sus próximas visitas a la página web.

    Caché del navegador puede ser controlado por los Encabezados de Caché de HTTP (ver una descripción general rápida aquí)

    Así, no es porque de Visual Studio o asp.net pero debido a que el navegador.

    Con suerte, hay muchas maneras para deshabilitar la caché en el lado del servidor (sólo para el propósito de pruebas) o en el lado del cliente (para volver a cargar y la derivación de la caché).

    He aquí algunas posibilidades :

    El uso de asp.net

    Puede explícita deshabilitar la caché del navegador con este código

    //Stop Caching in IE
    Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
    
    //Stop Caching in Firefox
    Response.Cache.SetNoStore();

    Advertencia : Hacer esto sólo en local para el propósito de pruebas !

    También, Muchos de agrupación de permitir que los sistemas de control de la configuración de la memoria caché.
    asp.net mvc Paquetes de establecer el Encabezado HTTP Expires un año a partir de cuando el paquete es de crear y añadir un parámetro adicional en la cadena de consulta. Mientras el paquete no cambia, este identificador único será el mismo. Ver aquí.

    En el navegador

    Hay muchos atajos para volver a cargar una página y la derivación de la caché:
    Para exampel :

    • Chrome : Shift + Botón De Recarga
    • Es decir : Ctrl + F5 o Ctrl + Botón de Recarga
    • Firefox : Ctrl + Shift + R o Mayús + Recarga

    También hay muchas maneras de desactivar completamente la memoria caché del navegador.

    • Es decir : Herramientas ‣ Opciones de Internet ‣ archivos Temporales de Internet ‣ Configuración ‣ Comprobar si hay una nueva versión de las páginas guardadas
    • Chrome : Herramientas ‣ Herramientas de Desarrollador ‣ icono de rueda dentada situado en la parte inferior izquierda ‣ esquina Deshabilitar la Caché
    • Firefox : Herramientas ‣ Opciones ‣ Avanzado ‣ Red ‣ tamaño de la caché =0

    Wikipedia tiene una gran lista de .

    Esta es una gran respuesta! Yo era capaz de encontrar la configuración en Internet Explorer que en realidad fue creado para nunca mirar para las nuevas versiones de la página.

    OriginalEl autor Cybermaxs

Dejar respuesta

Please enter your comment!
Please enter your name here