我想在我的 ASP.NET MVC 4.0 网站中捕获网站流量。我已经做到了
我的基本控制器:
public class BlogActionFilterAttribute : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
base.OnResultExecuting(filterContext);
BaseModels.StoreSessionData(filterContext);
}
}
全球.ASAX:
protected void Application_Start()
{
// Register global filter
GlobalFilters.Filters.Add(new BaseController.SiteActionFilterAttribute());
}
到目前为止,一切都很好。
如果我的操作视图有任何渲染操作或操作助手,那么我的会话事件正在我的数据库中存储另一条新记录,这是因为我的全局过滤器是针对ActionFilterAttribute
.
如果一个页面请求有多个操作,那么我的会话事件将捕获所有这些操作作为事件。
如何限制我的过滤器在每页请求上工作,而不是在操作及其子操作上工作?