OutputCache VaryByCustom:未调用GetVaryByCustomString

时间:2014-03-09 17:06:11

标签: asp.net-mvc outputcache

我在我的Action方法中定义了OutputCache过滤器,如下所示

[OutputCache(VaryByCustom = "Culture", Duration = 60, VaryByParam = "*")]

并在 Global.asax 中覆盖了GetVaryByCustomString方法如下:

public override string GetVaryByCustomString(HttpContext context, string custom)
{
    return "test";
}

这个代码正好与模板mvc应用程序一起使用,所以我假设语法恰到好处。

不幸的是不在我的申请中。

你们有什么想法可能会导致同样的问题吗?

我真的试图找出HOURS但没有成功。

请写下对您有用的任何建议。

UPDATE:仅当控制器类直接来自Controller类时,它才有效。如果它们之间还有其他类,则它不起作用。任何想法可能是什么原因?我的派生DefaultController类中有许多常用功能,因此在每个控制器中实现相同的功能会很尴尬。

UPDATE2:如果发现问题是我在每个控制器上覆盖BeginExecuteCore,如果我从Controller对象修改任何内容(Cookies,Session),将不再调用GetVaryByCustomString。有谁知道为什么?

0 个答案:

没有答案