Я создал собственный 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>
Есть ли шанс получить те же результаты при автоматической регистрации?
Спасибо.