我的网站一直运行正常,直到最近我在事件查看器中看到DNN核心中的空引用异常:
DotNetNuke.Common.Globals.GetStatus() in
F:\构建\维护\ WorkingDirectory \库\共同\ Globals.vb:线 1125在DotNetNuke.Common.Initialize.InitializeApp(HttpApplication app)in F:\构建\维护\ WorkingDirectory \图书馆\ COMMON \ Initialize.vb:行 138在DotNetNuke.Common.Initialize.Init(HttpApplication app)中 F:\构建\维护\ WorkingDirectory \图书馆\ COMMON \ Initialize.vb:行 228在DotNetNuke.Common.Global.Global_BeginRequest(对象发送者, EventArgs e)at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤, 布尔和放大器; completedSynchronously)
第1125行是:
_Status = UpgradeStatus.None
这是Globals类和Enum的属性
当发生这种情况时,它不会只做一次然后排序它自己大约每分钟做一个小时左右。
我确保所有dataprovider.instances
最终都在使用或尝试捕获或自动关闭(如果未使用读者)
任何建议都是最受欢迎的,因为我正式失败。
由于
答案 0 :(得分:1)
与ScottS提到的类似,该行设置了静态枚举值,因此我没有看到如何抛出NullReferenceException。实际上,它可能是其他东西的副作用。
该特定错误来自Global.asax BeginRequest,它调用Initialize.Init(app)
。我唯一能想到的就是检查你的Http模块。 RequestfilterModule和UrlRewriteModule(默认DNN http模块)也都调用Initialize.Init(app)
。
也许检查你的web.config和IIS(特别是如果你运行的是IIS 7)并确保一切都检查出来?
答案 1 :(得分:0)
查看了release.config,它有autoupdate = true设置为false,从那以后它就不是问题了。