Sitecore:来自asmx webservice的访问上下文

use*_*923 0 web-services sitecore asmx

如该主题所述.我试图从独立的.asmx Web服务访问我的Sitecore上下文.想知道这是否是一种正确的做法.

Der*_*ker 6

Sitecore上下文应该在经典的ASMX Web服务中可用,但是,因为对服务的请求可能不会引发默认的Sitecore管道,所以最好按如下方式设置站点上下文:

[WebMethod(EnableSession = true)]
public string MyServiceMethod()
{
    using (new SiteContextSwitcher(SiteContextFactory.GetSiteContext("website")))
    {
        // Here you can access Sitecore.Context
    }
}
Run Code Online (Sandbox Code Playgroud)