我有ActionFilter
进行记录。我希望这能记录进入服务器的请求和参数。这很好用。但是,当我添加OutputCaching时,这只会记录第一个请求而不记录其他请求。
我甚至尝试过创建一个行为如此的ActionFilter:
public class OutputCacheLoggingFilterAttribute : OutputCacheAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//Do my stuff
base.OnActionExecuting(filterContext);
}
}
我想如果我从outputcache继承它将 HAVE 在它进入基本调用之前运行我的代码。然而,我被证明是错误的,不知怎的,我的代码只会执行一次。
答案 0 :(得分:0)
嗯,据我所知,这个系统中存在“hack”,确保每次执行授权属性,无论缓存如何。也许你可以使你的过滤器实现IAuthorizationFilter并在OnAuthorization方法中完成你的工作。是的,这是一个讨厌的伎俩,但我认为仍然比“黑客”缓存系统更好。
让我们知道它是否有效(我从未测试过它,只是我头脑中的第一个想法:)