ASP.NET (классический): авторегистрация модуля Http, который обрабатывает все запросы (включая неуправляемые) - PullRequest
1 голос
/ 24 мая 2019

Я создал собственный 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>

Есть ли шанс получить те же результаты при автоматической регистрации?

Спасибо.

...