【发布时间】:2019-04-10 13:52:56
【问题描述】:
设置HttpRuntime.WebObjectActivator 使HttpApplication.InitModulesCommon 抛出NullReferenceException。
我将它设置在我的Application_Start 中并将其设置回 null 会使错误消失,因此它是一致的。
stacktrace如下
[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
真的是这样吗...?实例化未注册的对象真的是激活器的责任吗?
【问题讨论】:
-
我假设您已经阅读了What is a NullReferenceException, and how do I fix it? 如果是这样,您能edit 解释为什么这没有解决问题吗? (否则这很有可能会被标记为重复)。
-
@EJoshuaS 我不确定您的评论与此处的相关性如何,或者它是否自动生成?异常源自asp.net的内部。
标签: c# asp.net dependency-injection inversion-of-control