3

我正在尝试像在 ASP.NET MVC 5 中那样缓存输出控制器。

我在 ASP.NET MVC 5 控制器中做到了这一点:

 [OutputCache(Duration = 60, VaryByParam = "*", Location = OutputCacheLocation.ServerAndClient)]

现在,我在 ASP.NET 5 MVC 6 中尝试这样做:

控制器属性:

[ResponseCache(CacheProfileName = "TestCache")]

在我的Startup.cs中:

//Caching
            services.Configure<MvcOptions>(options => options.CacheProfiles.Add("TestCache", new CacheProfile()
            {
                Duration = 3600,
                Location = ResponseCacheLocation.Any,
                VaryByHeader = "*"
            }));

我在我的 TestController 中添加了一个断点,但是每次都会触发断点。

我该如何解决?

4

1 回答 1

2

您应该使用此处描述的 MVC 操作的新属性。例如

[ResponseCache(Duration=60)]

对应于

[OutputCache(Duration = 60)]

它放置 HTTP 标头

Cache-Control: public,max-age=60

在相应的 HTTP 响应中。

如果您更喜欢使用缓存配置文件,您将在同一篇文章中找到有关使用的相应信息(请参阅此处)。

于 2016-02-01T11:48:59.160 回答