我有一個Sitecore 8.1 CD實例。我也有一些代碼需要在Master數據庫中創建一個內容項。 (我知道這是一個禁忌,但我現在只需要弄清楚)當我的代碼試圖使用Glass Mapper創建一個內容項時,我得到一個錯誤。這裏是代碼片段和錯誤消息。我只是想了解錯誤的含義。我有一個感覺,這只是一個配置問題。此代碼在我們的Sitecore CM服務器上正常工作。所以我希望通過簡單地調整我們的CD服務器上的配置,我可以得到這個工作。到目前爲止,我已經在ConnectionStrings.config和Sitecore.config中重新啓用了Master條目。但是這並沒有解決這個問題。如何修復Glass Mapper錯誤 - 無法找到父項類型的配置?
SitecoreService service = new SitecoreService("master");
SimpleAes aes = new SimpleAes();
using (new SecurityDisabler())
{
Item parentItem = Factory.GetDatabase("master").GetItem("/sitecore/content/Non Page Content/Account Information/Shipping Addresses");
newAddress = service.Create(parentItem, newAddress); //THIS IS WHERE THE CODE FAILS
user.Addresses.Add(newAddress);
Utility.PublishItem(service.ResolveItem(newAddress));
id = aes.EncryptToString(newAddress.Id.ToString());
user.Addresses = user.Addresses;
user.Save();
}
錯誤消息:
Glass.Mapper.MapperException:未能找到父 項目類型的配置Sitecore.Data.Items.Item ---> System.NullReferenceException: 對象引用不設置爲一個對象的實例。在在 Glass.Mapper.Context.GetTypeConfiguration [T](對象OBJ,布爾 doNotLoad,布爾checkBase) System.Object.GetType()在 Glass.Mapper.Sc.SitecoreService.Create [T,TK](TK parent,T newItem, Boolean updateStatistics,Boolean silent)---內部異常結束 堆棧跟蹤---在Glass.Mapper.Sc.SitecoreService.Create [T,TK](TK parent,T newItem,Boolean updateStatistics布爾無聲)