首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sitecore:从asmx asmx服务访问上下文

Sitecore:从asmx asmx服务访问上下文
EN

Stack Overflow用户
提问于 2013-04-22 09:51:21
回答 2查看 1.4K关注 0票数 0

正如主题中所述。我正在尝试从一个独立的.asmx web服务访问我的Sitecore上下文。我想知道是否有一种合适的方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-22 10:35:30

Sitecore上下文应该在传统的ASMX web服务中可用,但是,由于对该服务的请求可能不会触发默认的Sitecore管道,因此最好按如下方式设置站点上下文:

代码语言:javascript
复制
[WebMethod(EnableSession = true)]
public string MyServiceMethod()
{
    using (new SiteContextSwitcher(SiteContextFactory.GetSiteContext("website")))
    {
        // Here you can access Sitecore.Context
    }
}
票数 6
EN

Stack Overflow用户

发布于 2013-04-23 00:35:06

Sitecore非常贪婪地处理所有命中应用程序的URL请求。解决这个问题的简单方法是使用dd the URL to the IgnoreUrlPrefixes setting。但是,这会拒绝您访问某些Sitecore上下文值,例如Site和Database,Sitecore仍可以根据主机名解析这些值。

我建议在httpRequestBegin管道中添加一个处理器,如果ExecuteRequest看起来是您的asmx服务,它会在合适的时候(就在ExecuteRequest之前)中止管道。对MVC请求执行此操作的一个示例可以在here中找到。对于asmx服务,您可能需要直接检查URL字符串。使用processor类的属性配置该URL的加分(c.f.Sitecore Configuration Factory)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16138285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档