21

我的网站已经运行了一段时间,直到最近我在事件查看器中看到 DNN 核心中的空引用异常:

DotNetNuke.Common.Globals.GetStatus() in

F:\Builds\Maintenance\WorkingDirectory\Library\Common\Globals.vb:DotNetNuke.Common.Initialize.InitializeApp(HttpApplication app) 的第 1125 行在 F:\Builds\Maintenance\WorkingDirectory\Library\Common\Initialize.vb:line 138 在 DotNetNuke.Common.Initialize.Init(HttpApplication app) 在 F:\Builds\Maintenance\WorkingDirectory\Library\Common\Initialize.vb:DotNetNuke.Common.Global.Global_BeginRequest(Object sender, EventArgs e) 在系统的第 228 行.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep 步骤,布尔值&完成同步)

第 1125 行是:

_Status = UpgradeStatus.None

这是 Globals 类和枚举的属性

此外,当这种情况发生时,它不会只执行一次然后对其自身进行排序,它大约每分钟执行一次,持续一个小时左右。

我确保所有人dataprovider.instances都处于 using 或 try catch finally 或自动关闭(如果未使用阅读器)

任何建议都非常受欢迎,因为我正式迷路了。

谢谢

4

2 回答 2

1

与 ScottS 提到的类似,该行设置了一个静态枚举值,所以我看不到如何抛出 NullReferenceException。事实上,这可能是其他事情的副作用。

该特定错误来自 Global.asax BeginRequest,它调用Initialize.Init(app). 我唯一能想到的就是检查您的 Http 模块。RequestfilterModule 和 UrlRewriteModule(它们是默认的 DNN http 模块)也调用Initialize.Init(app).

也许检查您的 web.config 和 IIS(特别是如果您正在运行 IIS 7)并确保一切都检查出来?

于 2011-08-02T19:17:44.027 回答
0

查看了 release.config 并将 autoupdate=true 设置为 false ,此后一直没有问题。

于 2012-06-01T09:53:11.420 回答