MVC4应用程序中的Outputcache

时间:2014-09-18 14:42:09

标签: asp.net-mvc asp.net-mvc-4 caching outputcache

我正在尝试在我的MVC4页面上实现一些视图和文件的缓存(想要在服务器和客户端上进行操作)。看起来很容易,但我不明白为什么它对我不起作用。我在这里试过这个小例子:

[OutputCache(Duration = 30000)]
public string Test()
{
  return DateTime.Now.ToLongTimeString();
}

不幸的是,结果的时间每秒都在变化..是否有必须设置的webconfig或iis中的任何设置?我没有发现任何关于这一点,但不知道为什么即使这个小例子也不起作用。希望你能帮帮我吗?

提前感谢!

2 个答案:

答案 0 :(得分:0)

没有足够的信息来决定哪种方式,但可以使用参数,你可以尝试[OutputCache(Duration = 3600, VaryByParam = "none")]

或创建一个缓存部分,并通过id

进行反馈
<caching>
<outputCacheSettings>
    <outputCacheProfiles>
        <add name="CacheExample" duration="3600" varyByParam="none"/>
    </outputCacheProfiles>
</outputCacheSettings>
</caching>

然后使用

[OutputCache(CacheProfile="CacheExample")]
public string Test()
{
  return DateTime.Now.ToLongTimeString();
}

答案 1 :(得分:0)

这应该有效:

[OutputCache(Duration = 30000, Location = OutputCacheLocation.ServerAndClient,  VaryByParam="none")]
public string Test()
{
  return DateTime.Now.ToLongTimeString();
}