初始化 Sitecore SiteInfo 对象

Initialize Sitecore SiteInfo object

我在使用 Sitecore SiteInfo 对象时遇到了一些问题。此对象包含有关站点的详细信息,例如数据库名称、站点名称和主机名,可用于创建 SiteContext 对象。我的问题是设置 RootPath。我能找到的唯一 documentation 是旧的 API 版本,不包含任何详细信息。据我所知,这是创建 SiteInfo 及其 SiteContext:

的方法
SiteInfo mySiteInfo = SiteInfo.Create(new StringDictionary { {"rootpath", "/sitecore/content"}, {"name", "mySite"}, {"foo", "bar"} });
SiteContext mySiteContext = new SiteContext(mySiteInfo);

运行 这一行没有错误,但是 mySiteInfo.RootPath 仍然是空的,即使 mySiteInfo.Name 的值为 mySite{"foo", "bar"} 似乎完全被忽略了,但这没问题。我在尝试 Sitecore 不支持的东西吗?

更多背景信息:我正在尝试使用 Sitecore.FakeDB, per the guide listed here 创建一个假的 SiteContext,用于我的单元测试。我需要设置 RootPath,以测试我的代码。

SiteInfo 创建期间使用的属性区分大小写。

在您的代码中 rootpath 全部小写。您需要将其更改为 rootPath

您可以在文章 site Attribute Properties 中找到站点定义的所有 Sitecore 内置属性。