四个我们当前的 .aspx 网站,我们有一个自定义的 HttpModule,它执行授权(哪个用户可以看到什么)。我已经将我们旧的 .aspx 网站重建为 MVC。而且因为我们的客户不会全部切换到 MVC 网站,所以我不能使用 MVC 的 Action 过滤器,但我需要继续使用 HttpModule。
问题是我收到 Http 错误 404。
我所做的: - MVC 应用程序已正确部署(已验证,因为没有在 IIS 中配置 HttpModule 它可以正常工作);- 在 Web.Config 和 IIS7.5 中为 HttpModule 进行了适当的配置(这是经过验证的,因为我从 HttpModule 将日志写入文件以查看模块是否首先被调用并按预期运行)
Web.config 文件:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="WebHIS_Authorization" type="WebHIS_Authorization.AuthorizationModule" />
</modules>
</system.webServer>
所以一切似乎都很好。HttpModule 的 BeginRequest 根据日志输入。我什至在我的日志文件中验证了在 HttpModule 离开 BeginRequest 方法之前,URL 仍然是预期的。但是,在 HttpRequest 离开 HttpModule 并且 IIS 返回 404 之后,似乎 MVC 路由不再起作用。我希望能得到帮助。
如果您需要查看具体内容,请询问,我会提供适当的信息。