Umbraco(4.11)问题保存/发布:UltimatePicker对象参考

时间:2013-12-06 22:13:59

标签: c# umbraco

有一个网站已经在生产中,直到昨天我才能添加一个特定的内容,使用各种数据类型,这些数据类型使用最终选择器设置到特定的父节点,该节点也按文档别名过滤。

现在,在保存/发布任何这些内容项时,我遇到了以下异常: [NullReferenceException:对象引用未设置为对象的实例。]    umbraco.editorControls.ultimatepicker.ultimatePickerDataEditor.Save()

无论如何,我唯一可以做的就是在网站上的回收站被清除前一天。

如果是这种情况,有没有办法清理其中一些内容项使用的引用?或者还有其他方法可以解决这个问题吗?

完全例外:

  

2013-12-06 18:19:45,992 [6]错误Umbraco.Web.UmbracoApplication -   [Thread 7]发生了未处理的异常   System.Web.HttpUnhandledException(0x80004005):类型异常   抛出'System.Web.HttpUnhandledException'。 --->   System.NullReferenceException:未将对象引用设置为实例   一个对象。在   umbraco.editorControls.ultimatepicker.ultimatePickerDataEditor.Save()   在umbraco.controls.ContentControl.SaveClick(对象发送者,   ImageClickEventArgs e)at   umbraco.controls.ContentControl.SavePublish(对象发送者,   ImageClickEventArgs e)at   System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e)
  在System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String   event.Web.UI.Page.ProcessRequestMain的EventArgument(布尔值   includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)
  在System.Web.UI.Page.HandleError(Exception e)at   System.Web.UI.Page.ProcessRequestMain(布尔   includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)
  在System.Web.UI.Page.ProcessRequest(布尔值   includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)
  在System.Web.UI.Page.ProcessRequest(布尔值   includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)
  在System.Web.UI.Page.ProcessRequest()处   System.Web.UI.Page.ProcessRequest(HttpContext context)at   System.Web.UI.Page.ProcessRequest(HttpContext context)at   System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()   在   System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()   在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,   布尔和放大器; completedSynchronously)

2 个答案:

答案 0 :(得分:1)

好的,这是发生的事情的奇怪,疯狂的破坏:

  • 在某个地方,不知何故,在开发链上,有人在Umbraco上安装了入门套件。首次创建站点时,它没有入门套件。所以它必须在我们的一个测试环境中
  • 由于删除了Install文件夹,因此在生产时没有发生这种情况。
  • 因此,主页,文本页面和产品类型都存在延迟,其中一个已添加到我们的某种文档类型中
  • 由于有测试的示例数据,该文档类型的暂存,它在发布时没有得到空引用异常,但是在生产时发布它DID获得空引用异常

我通过在GitHub上下载Umbraco 4.11标签,将其添加到我的项目,然后在Save / Publish上进行调试来找到这个。我发现有一个错误的属性试图保存没有数据。这实际上是因为回收箱被清除,奇怪的是。没有数据,所以在尝试迭代项目时它会抛出一个空引用。

故事的寓意?一旦开始自定义开发,就可以锁定任何入门套件。此外,请不要清除回收站,除非您确定它不会影响您的站点,即最初不应该在生产中进行。

回收箱很棒,只是依赖于不再存在的数据而存在财产,

答案 1 :(得分:0)

清理回收站不应该影响它,除非您的数据类型依赖(获取节点信息)吗? (没有意义,但是......)

无论如何,我会检查umbraco日志文件,数据库日志表,看看输出是什么。

您是否更改了某些文档类型?检查依赖它们的代码,可能是一个你可以直接看到的简单问题。

目前,您是否可以重新创建一个使用该终极选择器的新数据类型,并将其再次添加到测试文档类型中,看看它是否可以保存/发布?在生产中解决这个问题,可能类似于在路上行驶时更换汽车轮胎。我会在DEV或STAGING环境中推荐你。

您能否向我们提供有关例外的更多详细信息?

祝你好运!