我的网站一直运行正常,直到最近我在事件查看器中看到DNN核心中的空引用异常:
Run Code Online (Sandbox Code Playgroud)DotNetNuke.Common.Globals.GetStatus() in
F:\ Builds\Maintenance\WorkingDirectory\Library\Common\Globals.vb:第1125行,位于F:\ Builds\Maintenance\WorkingDirectory\Library\Common\Initialize.vb中的DotNetNuke.Common.Initialize.InitializeApp(HttpApplication应用程序):行138位于DotNetNuke.Common.Initialize.Init(HttpApplication app)的F:\ Builds\Maintenance\WorkingDirectory\Library\Common\Initialize.vb:第228行,位于DotNetNuke.Common.Global.Global_BeginRequest(Object sender,EventArgs e)at System System.Web.HttpApplication.ExecuteStep中的.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()(IExecutionStep step,Boolean&completedSynchronously)
1125行是:
_Status = UpgradeStatus.None
Run Code Online (Sandbox Code Playgroud)
这是Globals类和Enum的属性
此外,当发生这种情况时,它不会只做一次然后排序它自己它大约每分钟做一个小时左右.
我确保所有人dataprovider.instances
都在使用或尝试捕获最终或自动关闭(如果不使用读者)
任何建议都是最受欢迎的,因为我正式失败了.
谢谢
要在应用程序启动时创建此表(如果不存在)。
码:
public class Database : ApplicationEventHandler
{
protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
var db = applicationContext.DatabaseContext.Database;
//Cant add this table due to the ENUM
if (!db.TableExist("FormData"))
{
db.CreateTable<FormData>(false);
}
}
}
Run Code Online (Sandbox Code Playgroud)
模型:
[PrimaryKey("Id")]
public class FormData
{
[PrimaryKeyColumn(AutoIncrement = true, IdentitySeed = 1)]
public int Id { get; set; }
[NullSetting(NullSetting = NullSettings.NotNull)]
public FormType Type { get; set; }
[NullSetting(NullSetting = NullSettings.NotNull)]
public string Data { get; set; }
[NullSetting(NullSetting = NullSettings.NotNull)]
public DateTime Date …
Run Code Online (Sandbox Code Playgroud)