ASP.Net Core MVC中的OutputCache

ric*_*mer 5 asp.net asp.net-mvc asp.net-core

我在一个应用程序中有一个模块,用于加载下拉列表中的项目列表,具体取决于系统设置中是否设置了这些项目.

当某个项目设置为yes时,此项目应自动成为下拉选项的一部分.这完美适用于谷歌浏览器和其他浏览器,但不适用于Internet Explorer.

我想到了缓存问题,因为我在以前的项目中遇到过相同的问题.

我只是将这个包含在控制器中的动作之上

[OutputCache(NoStore = true)]
Run Code Online (Sandbox Code Playgroud)

现在在ASP.Net Core MVC中尝试过相同的操作

但是找不到"命名空间"OutputCacheAttribute".

  1. 这不再是核心mvc的一部分吗?
  2. 尝试了responseCache哪个可用,但也不起作用,是responsecache替代内容mvc?有什么不同?

小智 12

您可以使用

[ResponseCache(VaryByHeader = "User-Agent", Duration = 30)]
public IActionResult About2()
{
    return Ok();
}
Run Code Online (Sandbox Code Playgroud)

MSDN链接

  • 在“startup.cs”中还有选项“services.AddResponseCaching();”和“app.UseResponseCaching();”,我想它必须启用。 (7认同)