我了解WCF和Sitecore的问题,因为Sitecore.Context无法用于WCF请求。
但我真正想做的就是传入一个站点名称,让WCF从web.config中的“站点”部分返回该“站点”节点的一些属性。
例如,在下面的代码中,网站“www.mysite.com”的网站名称为“mysitename”。我怎么能以编程方式从web.config获取站点的主机名?
<sites>
<site name="mysitename" hostName="www.mysite.com" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content" startItem="/home" database="web" domain="extranet" allowDebug="true" cacheHtml="true" htmlCacheSize="100MB" registryCacheSize="0" viewStateCacheSize="0" xslCacheSize="5MB" filteredItemsCacheSize="2MB" enablePreview="true" enableWebEdit="true" enableDebugger="true" disableClientData="false" />
</sites>
我不关心它是否使用预构建的sitecore函数,或者只是能够读取web.config的这一部分的.net代码。任何反馈都会有所帮助,谢谢。
答案 0 :(得分:13)
你应该可以使用类似的东西:
var site = Sitecore.Configuration.Factory.GetSite(sitename);
返回的对象应该包含配置定义中的站点属性。我的机器现在没有Sitecore,因此无法准确检查,但您可以快速尝试。