【发布时间】:2013-04-01 04:09:36
【问题描述】:
我想在我的 ASP.NET MVC 4.0 网站中捕获网站流量。 我已经这样做了
我的基本控制器:
public class BlogActionFilterAttribute : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
base.OnResultExecuting(filterContext);
BaseModels.StoreSessionData(filterContext);
}
}
Global.ASAX:
protected void Application_Start()
{
// Register global filter
GlobalFilters.Filters.Add(new BaseController.SiteActionFilterAttribute());
}
到目前为止,一切都很好。
如果我的操作视图有任何渲染操作或操作助手,那么我的会话事件正在我的数据库中存储另一条新记录,这是因为我的全局过滤器适用于 ActionFilterAttribute。
如果一个页面请求有多个动作,那么我的会话事件会将所有这些动作捕获为事件。
如何限制我的过滤器只处理每页请求而不是操作及其子操作?
【问题讨论】:
标签: asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing action-filter