ASP.NET MVC OutputCache не работает для корневого URI

Я изучаю 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, то работает outputcache.

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

Спасибо.

Ответ 1

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

Спасибо, Eilon

Ответ 2

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

Ответ 3

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