我想在 ControllerName 和 Action 被解析之后,但在请求被服务之前,即在它到达适当的操作之前,拦截进入我的 MVC 应用程序的每个请求。
我想到了两种方法:
1)我可以写一个HttpModule
来拦截每个传入HttpRequest
的,读取HttpContext.Request.AbsoluteUrl
(或一些这样的)属性,然后假设我配置的路由永远不会改变(这是我想避免的假设,否则我会走这条路) ,并推断正在调用的控制器和操作的名称。
但是,我正在寻找一种更可靠的方法。因此下面的(2)。
2)我假设MVC在实例化正确的控制器之前已经为我做了一次或另一次。我想知道它在哪里这样做,以便我可以重新使用它的工作。在什么时候我可以获取此信息,拦截请求并在它到达操作之前对其进行处理?