Sitecore.Context.Database 是 Web,但 GetItem() 为所有内容返回 null



我的 Sitecore 8.2 环境出了点问题,但我不确定是什么问题。我的代码中的所有 GetItem(( 调用都返回 null。我已经确认 Sitecore.Context.Database 不为空,而是 Web 数据库,我切换到 Web 数据库并确认所有项目都在那里,并且它们的 ID 与我在 GetItem(( 调用中使用的 ID 匹配。我知道连接字符串是正确的,因为我网站的主页加载并显示徽标和欢迎文本,这些是 Sitecore 中可配置的字段。但是,每次调用 Sitecore.Context.Database.GetItem(( 的尝试都会返回 null。还尝试过:

SitecoreService service = new SitecoreService(Sitecore.Context.Database);
HomePage = service.GetItem<IRoot>(ItemReference.Hompage.Guid);

但这也会返回 null。

您可能需要查看项目的安全设置。如果项目以正确的语言存在,但您得到 null,这通常意味着上下文用户没有访问权限。

您可能已明确拒绝匿名用户,或者未授予他们读取权限,或者继承在更高级别被破坏,以前的"读取"访问权限不再传递到您的项目。

相关内容

  • 没有找到相关文章

最新更新