嗨,我正在尝试做一件似乎很简单的事情,并且以这种方式进行了记录,但由于某种原因,它并不那么容易。
基本上我写的是这样的:
public class CacheControllAttribute : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
//do something
base.OnResultExecuting(filterContext);
}
}
但是,当我尝试将其用于这样的操作结果时:
[CacheControllAttribute]
public ActionResult SomeAction()
{
//whatever
}
我的自定义覆盖函数永远不会被调用...
有什么想法吗?或如何以不同方式实现?
最佳答案
一个可能很愚蠢的建议,但是您是否将其添加到global.asax
中?
这是我的一个应用程序中的一个示例:
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new LogonAuthorize());
filters.Add(new HandleErrorAttribute());
}
}
关于c# - 自定义ASP.NET MVC ActionFilterAttribute- Hook 永远不会被调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6510362/