我的Sitecore 8.2环境有问题,但是我不确定是什么。我的代码中的所有GetItem()调用都返回null。我已经确认Sitecore.Context.Database不为null,而是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。
答案 0 :(得分:1)
您可能要查看项目的安全设置。如果项目以正确的语言显示在其中,但您得到的是空值,则通常意味着上下文用户无权访问。
您可能已明确拒绝匿名用户,或者未授予匿名用户读取权限,或者继承在更高级别上被破坏,以前的“读取”访问权限不再传递给您的项目。