ASP.NET MVC OutputCache не работает для корневого URI
-
11-07-2019 - |
Вопрос
Я изучаю 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.