5

He creado un sitio web basado en ASP.NET 4. Al principio ejecuté el sitio predeterminado tal como fue generado por la plantilla de la aplicación de Internet ASP.NET 4 de Visual Studio. Simplemente presioné el botón Debug y se lanzó IE, se conectó al http://localhost:1341/ y cargó la página de bienvenida predeterminada de mi sitio web. Todo parecía estar bien, así que comencé a rediseñar el Index.cshtml.Visual Studio El servidor de desarrollo ASP.NET sigue devolviendo páginas antiguas

Después de rediseñar, volví a lanzar el sitio web. Y mientras navego, noté que si hago clic en el botón Atrás del navegador, obtengo la versión anterior en caché de la primera página y tengo que presionar Actualizar en el navegador para obtener la nueva.

por lo que añade

<meta http-equiv="PRAGMA" content="NO-CACHE"> 

y

protected void Application_BeginRequest(object sender, EventArgs e) 
    { 
     // prevent caching 
     HttpContext.Current.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1)); 
     HttpContext.Current.Response.Cache.SetValidUntilExpires(false); 
     HttpContext.Current.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches); 
     HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); 
     HttpContext.Current.Response.Cache.SetNoStore(); 
    } 

a mi página web.

Luego borre el caché de IE utilizando las Opciones de IE. También limpié mi carpeta Local \ Temp.

Pero igual recibí el resultado 304 en la pestaña Red de herramientas de desarrollador de IE al presionar el botón Atrás en el navegador.

La única forma de obtener la nueva página rediseñada es usar Caché-> Actualizar siempre del servidor. Podría hacer eso para fines de desarrollo, pero es solo cuestión de pensar: ¿de dónde saca esa página muy vieja de siempre cuando toco Back?

Al depurar, en Visual Studio aparece un nuevo elemento de árbol en el Explorador de soluciones. Este nuevo elemento se llama documentos de secuencia de comandos. Debajo, hay un elemento de Windows Internet Explorer que contiene el elemento localhost ... y cuando lo abro, ¡sí, esa es la página anterior que viene al IE cuando presiono el botón Atrás! ¿Dónde almacena Visual Studio (o el servidor Dev de ASP.NET) esa página "localhost"?

¿Cómo me deshago de esa página atascada y detengo IE (o tal vez también el servidor ASP.Dev) en el caché de mi localhost/portada? ¿Cómo borro esa página vieja para siempre?

espero, la nueva página no se almacenan en caché de la misma manera, ya que he añadido a ella ...

+0

Esto no es un problema de código; es un problema de IE y ya conoces el trabajo en función de tu publicación. –

+2

Pero, ¿de dónde saca esa página antigua y por qué aparece incluso en el explorador de Visual Studio Solution mientras se depura? Limpié todos los lugares que conozco (caché IE, carpeta Temp), pero aún esa primera página está almacenada en la memoria caché en otro lugar ... – JustAMartin

+0

Estoy de acuerdo. Y no creo que esto sea un simple problema de IE. Es un problema con Cassini (también borró el caché pero el problema aún ocurre), Visual Studio o IE en modo de depuración. Solo ocurre en "modo de desarrollo" y solo cuando usa el botón Atrás o su equivalente. Es el tipo de gotcha que impulsará a cualquier desarrollador loco (más nueces). También me gustaría saber dónde está almacenada esta copia antigua porque probablemente ayude a solucionarla. – Swanny

Respuesta

0

añadir

<meta http-equiv="CACHE-CONTROL" content="NO-CACHE"/> 
<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2002 11:12:01 GMT"> 
Cuestiones relacionadas