Pregunta

Estoy aprendiendo ASP.NET MVC y molestado por un problema.

En HomeController, la acción Index tiene el atributo OutputCache, pero parece que no funciona.

[HandleError]
public class HomeController : Controller
{
    [OutputCache(Duration=5, VaryByParam="none")]
    public ActionResult Index()
    {
        ViewData["Title"] = "Home Page" + DateTime.Now;
        ViewData["Message"] = "Welcome to ASP.NET MVC! " + DateTime.Now;

        return View();
    }
}

Después de intentarlo durante unos minutos, descubrí que se debe a la forma en que accedo a la acción. Si accedo a través de " http: // localhost: 3573 / " ;, la caché de salida no funciona. Sin embargo, si accedo con " http: // localhost: 3575 / Home / Index " , el cache de salida funciona.

¿Alguien sabe alguna solución para hacer que la salida de acción del controlador predeterminada se pueda almacenar en caché?

Gracias.

¿Fue útil?

Solución

Creo que esto es un error en ASP.NET MVC. Hemos registrado el problema en nuestra base de datos e investigaremos una solución para este problema.

Gracias Eilon

Otros consejos

usando VarByParam = " " parece hacerlo funcionar

Según mis contactos en Microsoft, el problema desaparece por completo si elimina el archivo Default.aspx de la raíz de su sitio o, si es absolutamente necesario, asegúrese de utilizar el que se proporciona con la última versión versión de ASP.NET MVC.

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