2010-09-01 16 views
6

He estado trabajando en el servidor de desarrollo ASP.NET recientemente (en un proyecto MVC y estoy encontrando que no es consistente en cómo sirve los cambios que hacer mi código. Por ejemplo, realizo un cambio en C#/HTML/CSS/JS en el entorno de desarrollo y ejecuto la página, y el cambio aparece en la pantalla. Pero si edito el código HTML de nuevo y vuelvo a ejecutar la página , el nuevo cambio no aparece. Incluso ctrl + F5 no lo hace. Tengo que detener el servidor web y ejecutar la aplicación nuevamente para que los cambios se actualicen. ¿Alguien más ha experimentado esto? ¿Hay alguna manera de ordenar esto? problema?ASP.NET Development Server no está actualizando los cambios en el marcado/código

Si estoy trabajando en IIS y cambio algo, un ctrl + F5 siempre actualizará la página con los cambios que he realizado. Me gustaría que el servidor de desarrollo sea tan confiable. ¿Alguien tiene alguna sugerencia?

+0

estoy teniendo el mismo problema exacto mediante Visual Studio 2008 con un 2,0 formularios web sitio web tradicional basada en .NET. Me alegro de haber encontrado esta pregunta antes de volver a preguntárselo. – NinjaBomb

+0

¡2 de nosotros con la misma pregunta y sin respuestas! la solución hasta la fecha para mí ha sido simplemente matar el proceso del servidor de desarrollo cuando comienza a actuar y reiniciar la aplicación. – DaveDev

+0

Eso es lo que he estado haciendo. Sin embargo, me está ralentizando mucho y volviendo loco porque la semana pasada estaba funcionando. Hasta donde yo sé, nada cambió en mi configuración entre entonces y ahora. Estoy empezando a sospechar que una actualización de Windows tiene algo que ver con eso, pero parece un poco descabellado. – NinjaBomb

Respuesta

1

caché trate de limpiar .. en cada petición

Response.Cache.SetCacheability(HttpCacheability.NoCache); 
Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1)); 

Si todavía no funciona. Prueba este montón de código en el evento de carga pag

Response.AppendHeader("Pragma", "no-cache"); 
Response.AppendHeader("Cache-Control", "no-cache"); 

Response.CacheControl = "no-cache"; 
Response.Expires = -1; 

response.ExpiresAbsolute = new DateTime(1900, 1, 1); 
response.Cache.SetCacheability(HttpCacheability.NoCache); 
+0

¿Cuál es la diferencia entre hacer esto y un cambio + actualizar f5 de la página? Revisé los encabezados de las páginas que estoy solicitando y parecen estar completamente revisadas cada vez. Además, tener que agregar esto a cada página en la que está trabajando, y recordar sacarlo antes de pasar a la producción, parece engorroso. – NinjaBomb

+1

No, no en cada página. Solo en un solo lugar llamado evento Application_BeginRequest en el archivo global.asax.cs. –

+0

Cada vez que se actualiza la página, la página web se almacena en caché en su máquina. Y cargue la página más rápido en lugar de desde el servidor. Primero busca en el caché, y si encuentra cargas desde allí. Entonces tal cosa sucede. Pero en el código anterior, cuando se carga la página por primera vez, como en el código anterior, primero no creará ninguna memoria caché de la solicitud actual, pero si de alguna manera se crea, su fecha de caducidad se establecerá el 1/1/1900, que ya está cruzado, por lo que el caché creado caducará inmediatamente después de la próxima solicitud y creará una nueva caducidad con la misma fecha anterior ... y así sucesivamente, –

Cuestiones relacionadas