C# 在Application_BeginRequest中,我如何知道何时请求MVC控制器?
在global.asax中的Application_BeginRequest事件中,我只想在请求控制器操作方法时触发一些逻辑C# 在Application_BeginRequest中,我如何知道何时请求MVC控制器?,c#,asp.net-mvc,C#,Asp.net Mvc,在global.asax中的Application_BeginRequest事件中,我只想在请求控制器操作方法时触发一些逻辑 当前,当请求资源(如.js文件等)时,会调用一些东西。在web.config中的元素下,可以添加以下节点 这将告诉IIS仅运行已知请求类型的管理器模块。如果您的服务器设置为无扩展或.mvc,则mvc请求仍将被处理。使用操作过滤器,而不是使用global.asax,然后您可以修饰确切的控制器或操作以执行逻辑 重写以下一个或所有方法: public class MyActi
当前,当请求资源(如.js文件等)时,会调用一些东西。在web.config中的元素
下,可以添加以下节点
这将告诉IIS仅运行已知请求类型的管理器模块。如果您的服务器设置为无扩展或.mvc,则mvc请求仍将被处理。使用操作过滤器,而不是使用global.asax,然后您可以修饰确切的控制器或操作以执行逻辑 重写以下一个或所有方法:
public class MyActionFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
base.OnActionExecuted(filterContext);
}
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
}
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
base.OnResultExecuted(filterContext);
}
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
base.OnResultExecuting(filterContext);
}
}
装饰你的动作或控制器
[MyActionFilter]
public class MyController {
[MyActionFilter]
public ActionResult MyAction()
{
return View();
}
}
有关其他操作筛选器,请参阅。您可以检查提供资源url的
HttpContext.Current.Request.Path的值。
这是你问题的答案,但我更喜欢杰森的答案