我想记录经过表单身份验证后,用户每天在asp.net mvc(3)中执行的请求数量。我想我可以实现一个ActionFilter或者其他东西但是我必须标记每个相关的动作/控制器。我可以以某种方式在全球范围内拦截吗?谢谢!
基督教
答案 0 :(得分:3)
全局操作过滤器也许?
<强>的Global.asax.cs 强>
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
// Register global filter
GlobalFilters.Filters.Add(new AuthenticatedHttpGetTracker());
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
操作过滤器:
public class AuthenticatedHttpGetTracker: ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
// your logic to check if this request is an authenticated GET
base.OnActionExecuting(filterContext);
}
}
但是,我敢说可能有一个工具可以在服务器级别为您跟踪,而不是代码级别。
值得谷歌。