gpt4 book ai didi

asp.net-mvc - MvcApplication.Modules 在 MVC 3 中是空的

转载 作者:行者123 更新时间:2023-12-01 04:14:22 26 4
gpt4 key购买 nike

我很惊讶在 MvcApplication.Init 中 Modules 集合中只有一个条目,名为“__ASP_IntegratedDynamicModule_Shim”。在我的 webforms 应用程序中,大约有 13 个模块,其中之一是“FormsAuthentication”。

在我的 webforms 应用程序中,我覆盖了 HttpApplication.Init,然后使用 Modules["FormsAuthentication"] 来获取 FormsAuthenticationModule 并连接到它的 Authenticate 事件以替换我自己的处理程序。现在我正在迁移到 MVC 3,我不确定如何做到这一点。

forms auth 模块显然在我的管道中运行,因为 authentication mode="forms"工作正常(我可以使用标准 FormsAuthentication 技术登录和注销)。我正在使用带有集成 ASP.NET 4.0 管道的 IIS 7。

还有人注意到这个吗?我可能只是在做一些非常愚蠢的事情......

最佳答案

在集成管道中,您的 Init() 方法将运行多次。由于 MVC 3 将自身挂接到 ASP.NET 管道的方式,对 Init() 的第一次调用可能包含一个空的模块集合。后续调用应包含您要查找的模块。

我建议修改您的 Init() 代码以说明 Modules["FormsAuthentication"] 是否不存在,无操作。您的代码最终将再次被调用,并且您最终将能够 Hook 该事件。

关于asp.net-mvc - MvcApplication.Modules 在 MVC 3 中是空的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4485418/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com