我已经创建了一个自定义HttpModule,我试图确保它自动注册(这样用户不必诉诸\ << modules>元素)。为此,我首先将PreApplicationStartMethod
添加到包含模块的程序集中:
[assembly: PreApplicationStartMethod(typeof(AutoRegisterHttpModule), nameof(AutoRegisterHttpModule.Start))]
然后,我用以下代码注册了模块:
public static class AutoRegisterHttpModule {
public static void Start() {
HttpApplication.RegisterModule(typeof(GrmMagickModule));
}
}
不幸的是,我注意到这不会产生与使用
<modules>
<add type="Grm.Magick.Resizing.GrmMagickModule, Grm.Magick.Resizing" name="GrmMagick"/>
</modules>
执行此操作时,我的模块将处理所有请求。但是,当我自动注册模块时,不会发生这种情况。在这些情况下,我需要更改模块声明,使其看起来像这样:
<modules runAllManagedModulesForAllRequests="true"></modules>
是否有机会通过自动注册获得相同的结果?
谢谢。