使用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指南使用here创建假SiteContext
,以便在我的单元测试中使用。我需要设置RootPath
来测试我的代码。
答案 0 :(得分:4)
创建SiteInfo
期间使用的属性区分大小写。
在您的代码中,rootpath
全部为小写。您需要将其更改为rootPath
。
您可以在文章site Attribute Properties中找到网站定义的所有Sitecore内置属性。