Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Net MVC路由和PreRequestHandler_Asp.net Mvc_Routing_Prerequesthandler - Fatal编程技术网

Asp.net mvc Net MVC路由和PreRequestHandler

Asp.net mvc Net MVC路由和PreRequestHandler,asp.net-mvc,routing,prerequesthandler,Asp.net Mvc,Routing,Prerequesthandler,我正在尝试实例化一个服务,并在Application\u PreRequestHandlerExecute()方法中验证当前用户,然后在global.asax.cs类的*Application\u PostRequestHandlerExecute()方法中处置此服务。这个过程中我需要的一个项目是orgname,它附加在我的url路由的开头。我映射了一个类似于“{orgName}/{controller}/{action}/{id}”的路由 所以我的问题是,在ASP.Net MVC应用程序中,是

我正在尝试实例化一个服务,并在Application\u PreRequestHandlerExecute()方法中验证当前用户,然后在global.asax.cs类的*Application\u PostRequestHandlerExecute()方法中处置此服务。这个过程中我需要的一个项目是orgname,它附加在我的url路由的开头。我映射了一个类似于“{orgName}/{controller}/{action}/{id}”的路由

所以我的问题是,在ASP.Net MVC应用程序中,是否可以访问应用程序\u PreRequestHandlerExecute()事件中的任何路由信息(或以某种方式访问我实例中的“orgname”?如果这是不可能的,是否有其他方法连接到MvcHandler并执行类似操作(也许我应该构建一个自定义过滤器?

您需要“RequestContext”来查找所有路由值。除了在控制器内,我不知道还有什么其他方法可以得到它们

你应该实现一个“ActionFilterAttribute”,然后用它装饰你的控制器

ActionFilter具有以下方法

//     Called after the action method executes.
public virtual void OnActionExecuted(ActionExecutedContext filterContext);
//     Called before the action method executes.
public virtual void OnActionExecuting(ActionExecutingContext filterContext);
您可以在其中做各种有趣的事情。

您需要“RequestContext”来查找所有路由值。除了在控制器内,我不知道还有什么其他方法可以得到它们

你应该实现一个“ActionFilterAttribute”,然后用它装饰你的控制器

ActionFilter具有以下方法

//     Called after the action method executes.
public virtual void OnActionExecuted(ActionExecutedContext filterContext);
//     Called before the action method executes.
public virtual void OnActionExecuting(ActionExecutingContext filterContext);
你可以在里面做各种有趣的事情