Вопрос

Я изучаю 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/", outputcache не работает.Однако, если я получу к нему доступ с помощью "http://localhost:3575/Home/Index", outputcache работает.

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

Спасибо.

Это было полезно?

Решение

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

Спасибо, Эйлон

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top