Я бы лучше использовал Фильтры MVC для профилирования, поскольку фильтры MVC позволяют добавлять режимы предварительной и последующей обработки, а параметр filterContext должен предоставить вам достаточно информации.
Например, я бы создал ProfilerAttribute для профилирования
public class ProfilerAttribute : FilterAttribute, IActionFilter, IResultFilter, IExceptionFilter {
public void OnActionExecuting(ActionExecutingContext filterContext) {
Debug.WriteLine("Before Action is executing");
}
public void OnActionExecuted(ActionExecutedContext filterContext) {
Debug.WriteLine("After Action is executed");
}
public void OnResultExecuted(ResultExecutedContext filterContext) {
Debug.WriteLine("After Action Result is executed");
}
public void OnResultExecuting(ResultExecutingContext filterContext) {
Debug.WriteLine("Before Action Result is executing");
}
public void OnException(ExceptionContext filterContext) {
Debug.WriteLine("oops! exception");
}
}
и зарегистрировался бы как GlobalFilter в Global.ascx ....
public static void RegisterGlobalFilters(GlobalFilterCollection filters) {
filters.Add(new HandleErrorAttribute());
filters.Add(new ProfilerAttribute());
}
Надеюсь, это поможет.Благодарю.
обновление : забыл упомянуть, что фильтр MVC выполняется только после , когда выполняется сопоставление маршрутизации.Таким образом, вам не нужно отфильтровывать статические ресурсы, так как это уже было сделано MVC.