Кэширование в ASP.NET 5 в контроллере
Я пытаюсь кэшировать выходной контроллер, как я сделал в ASP.NET MVC 5.
Я сделал это в ASP.NET контроллер MVC 5:
[OutputCache(Duration = 60, VaryByParam = "*", Location = OutputCacheLocation.ServerAndClient)]
Теперь я пытаюсь это сделать. ASP.NET 5 MVC 6:
Атрибут Контроллера:
[ResponseCache(CacheProfileName = "TestCache")]
В моем стартапе.cs :
//Caching
services.Configure<MvcOptions>(options => options.CacheProfiles.Add("TestCache", new CacheProfile()
{
Duration = 3600,
Location = ResponseCacheLocation.Any,
VaryByHeader = "*"
}));
Я добавил точку останова в мой TestController, но breakboint запускается каждый раз.
Как я могу это исправить?
1 ответ:
Вы должны использовать новые атрибуты действий MVC, описанных здесь. Например
[ResponseCache(Duration=60)]
Соответствует
[OutputCache(Duration = 60)]
Он помещает заголовок HTTP
Cache-Control: public,max-age=60
В соответствующем HTTP-ответе.
Если вы предпочитаете использовать профили кэширования, вы найдете соответствующую информацию об использовании в той же статье (см. здесь).