ASP.NET MVC OutputCache не работает для корневого URI - PullRequest
11 голосов
/ 27 ноября 2008

Я изучаю ASP.NET MVC и прослушиваю одну проблему.

В HomeController действие Index имеет атрибут OutputCache, но, похоже, оно не работает.

[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();
    }
}

После нескольких минут попыток я обнаружил, что это связано с тем, как я получаю доступ к действию. Если я получаю к нему доступ через "http://localhost:3573/",, кэш вывода не работает. Однако, если я получаю к нему доступ через" http://localhost:3575/Home/Index",, кэш вывода работает.

Кто-нибудь знает какой-нибудь обходной путь, чтобы сделать вывод действия кэша контроллера по умолчанию доступным?

Спасибо.

Ответы [ 3 ]

7 голосов
/ 28 ноября 2008

Я думаю, что это ошибка в ASP.NET MVC. Мы зарегистрировали проблему в нашей базе данных и исследуем исправление этой проблемы.

Спасибо, Eilon

1 голос
/ 10 сентября 2010

Согласно моим контактам в Microsoft, проблема полностью исчезает, если вы удаляете файл Default.aspx из корня вашего сайта или, если вам абсолютно необходим его, убедитесь, что вы используете тот, который поставляется с последней версией. версия ASP.NET MVC.

1 голос
/ 03 марта 2009

использование VarByParam = "", кажется, заставляет его работать

...