设置HttpRuntime.WebObjectActivator使HttpApplication.InitModulesCommon抛出NullReferenceException

问题描述 投票:0回答:1

设置HttpRuntime.WebObjectActivatorHttpApplication.InitModulesCommon投掷NullReferenceException

我在我的Application_Start中设置它并将其设置为null使得错误消失所以它的一致性。

堆栈跟踪如下

[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

我最好的猜测是,由于所有模块都被WebObjectActivator解析而导致https://referencesource.microsoft.com/#system.web/HttpApplication.cs,2337失败的这一行,如果它们没有注册,则返回null,如此处所见https://referencesource.microsoft.com/#system.web/ModulesEntry.cs,62https://referencesource.microsoft.com/#system.web/HttpRuntime.cs,3388

是真的如此......?激活器是否真的有责任实例化未注册的对象?

c# asp.net dependency-injection inversion-of-control
1个回答
0
投票

不幸的是,阅读这个问题的答案证实,无论是谁制作了HttpRuntime.WebObjectActivator都没有想到它

Wiring up Simple Injector in WebForms in .NET 4.7.2

© www.soinside.com 2019 - 2024. All rights reserved.