簡體   English   中英

以編程方式在Sitecore item.add上異常

[英]Exception on Sitecore item.add programmatically

我試圖在Sitecore上以編程方式創建商品,這是如何編寫代碼的:

                var db = Sitecore.Configuration.Factory.GetDatabase(dbName);
                Item RepositoryItem = db.GetItem(repId, Sitecore.Context.Language);

                TemplateID tid = new Sitecore.Data.TemplateID(new Sitecore.Data.ID(TemplateId);
                Item newItem = RepositoryItem.Add(resource_name, tid);
                newItem.Editing.BeginEdit();
                newItem[resourceConstants.IndustryFieldName] = industry;
                newItem[resourceConstants.MarketFieldName] = markets;

                newItem[I_BUResourceConstants.ResourceIdFieldName] = resource_id;           
                newItem.Editing.EndEdit(true);

當應用程序執行RepositoryItem.add時,出現以下錯誤:值不能為null /參數名稱緩存。

這是堆棧跟蹤

at Sitecore.Diagnostics.Assert.ArgumentNotNull(Object argument, String argumentName)
   at Sitecore.Data.DataProviders.Sql.SqlDataProvider.ResolvePathRec(String[] path, PathCache cache, CallContext context)
   at Sitecore.Data.DataProviders.DataProvider.ResolvePath(String itemPath, CallContext context, DataProviderCollection providers)
   at Sitecore.Nexus.Data.DataCommands.ResolvePathCommand.Execute(String , Database )
   at Sitecore.Data.Engines.EngineCommand`2.Execute()
   at Sitecore.Data.Managers.ItemProvider.GetItem(String itemPath, Language language, Version version, Database database, SecurityCheck securityCheck)
   at Sitecore.Data.Managers.PipelineBasedItemProvider.<>c__DisplayClass2f.<GetItem>b__2e()
   at Sitecore.Data.Managers.PipelineBasedItemProvider.ExecuteAndReturnResult[TArgs,TResult](String pipelineName, String pipelineDomain, Func`1 pipelineArgsCreator, Func`1 fallbackResult)
   at Sitecore.Data.Managers.ItemManager.GetItem(String itemPath, Language language, Version version, Database database)
   at Sitecore.Globalization.DictionaryDomain.GetDomainDefinitionItem(Database database, String name)
   at Sitecore.Globalization.DictionaryDomain.TryParse(String domainDefinition, Database database, DictionaryDomain& domain)
   at Sitecore.Globalization.DictionaryDomain.GetDefaultDomain(Database database)
   at Sitecore.Pipelines.GetTranslation.TryGetFromContextDatabase.Process(GetTranslationArgs args)
   at (Object , Object[] )
   at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
   at Sitecore.Globalization.Translate.TextByLanguage(String domainName, TranslateOptions options, String key, Language language, String defaultValue, Object[] parameters)
   at Sitecore.Globalization.Translate.TextByLanguage(String key, Language language, String defaultValue, Object[] parameters)
   at Sitecore.Globalization.Translate.TextByLanguage(String key, Language language, String defaultValue)
   at Sitecore.Globalization.Translate.TextByLanguage(String key, Language language)
   at Sitecore.Data.Items.ItemUtil.GetItemNameError(String name)
   at Sitecore.Data.Items.ItemUtil.IsItemNameValid(String name)
   at Sitecore.Data.Items.ItemUtil.ProposeValidItemName(String name, String defaultValue)
   at Sitecore.Data.Items.ItemUtil.ProposeValidItemName(String name)
   at resource_import.AddResourceToRepository(String resource_id, String product_solution, String markets, String industry, String product_type, String resource_name, String resource_link, String resource_type) in C:\project\resource.aspx.cs
   at resource_import.butSubmit_Click(Object sender, EventArgs e) in C:\project\resource.aspx.cs

我在Sitecore 8.1(rev.151207)上工作,我在Sitecore 7.2上有相同的代碼

您輸入的商品名稱似乎無效。 它正在對名稱運行驗證並返回錯誤消息。 它嘗試轉換錯誤消息,但隨后在SQL數據提供程序中發生另一個錯誤。 看起來找不到路徑緩存。 使用Caching.Enabled設置檢查是否已禁用緩存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM