Установка HttpRuntime.WebObjectActivator
заставляет HttpApplication.InitModulesCommon
бросить NullReferenceException
.
Я устанавливаю его в свой Application_Start
, и установка его в ноль делает ошибку исчезает, поэтому она соответствует.
Трассировка стека выглядит следующим образом:
[NullReferenceException: Object reference not set to an instance of an object.]
System.Web.HttpApplication.InitModulesCommon() +166
System.Web.HttpApplication.InitInternal(HttpContext context, HttpApplicationState state, MethodInfo[] handlers) +792
System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext context) +153
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context) +107
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +327
Я думаю, что эта строка имеет ошибку https://referencesource.microsoft.com/#system.web/HttpApplication.cs,2337 из-за того, что все модули были разрешены с помощью WebObjectActivator и поэтому возвращают нуль, если онине зарегистрированы, как видно здесь https://referencesource.microsoft.com/#system.web/ModulesEntry.cs,62 и здесь https://referencesource.microsoft.com/#system.web/HttpRuntime.cs,3388
Это действительно так ...?Действительно ли ответственность активатора заключается в создании экземпляров объектов, которые также не зарегистрированы?