正如本主題中所述。我正嘗試從獨立的.asmx Web服務訪問我的Sitecore上下文。想知道是否有正確的做法。Sitecore:從asmx webservice訪問上下文
回答
的Sitecore的語境應該是一個典型的ASMX Web服務的方式提供,但是,因爲對服務的請求可能不會招來默認Sitecore的管道,它是設置站點上下文如下一個好主意:
[WebMethod(EnableSession = true)]
public string MyServiceMethod()
{
using (new SiteContextSwitcher(SiteContextFactory.GetSiteContext("website")))
{
// Here you can access Sitecore.Context
}
}
只有在將ASMX服務添加到IgnoreUrls時,才需要這樣做。 – techphoria414 2013-04-22 12:56:24
謝謝你的工作 – user446923 2013-04-23 02:30:38
注意這隻適用於單站點場景。 – techphoria414 2013-04-23 02:54:10
Sitecore對處理所有訪問應用程序的URL請求相當貪婪。簡單的方法是到dd the URL to the IgnoreUrlPrefixes setting。但是,這會拒絕您訪問某些Sitecore上下文值,例如Sitecore仍然可以根據主機名稱解析的站點和數據庫值。
我建議在httpRequestBegin
管道中添加一個處理器,如果URL看起來像你的asmx服務,那麼它會在適當的時候中止流水線(在ExecuteRequest
之前)。爲MVC請求執行此操作的示例可以找到here。對於您的asmx服務,您可能需要直接檢查URL字符串。使用處理器類上的屬性配置該URL的獎勵點(c.f. Sitecore Configuration Factory)。
- 1. 使用WCF訪問asmx WebService
- 2. Silverlight 5 - 從WebService下載zip文件asmx
- 3. 從grails調用asmx C#webservice的問題
- 4. 如何在wordpress中訪問webservice/asmx文件?
- 5. 從asmx webservice返回System.Spatial.Geography
- 6. 從WCF消費ASMX WebService
- 7. Android webservice asp .asmx
- 8. 與ASMX WebService的
- 9. Sitecore上下文&HttpWebRequest
- 10. 從ASP.NET訪問Sitecore內容
- 11. 是否有可能從Sitecore事件處理程序中訪問HTTP上下文?
- 12. Ruby on Rails - WebService - ASMX
- 13. Php,Soap和ASMX WebService
- 14. 從Asp.net MVC訪問Webservice
- 15. 從jquery訪問webservice wsdl
- 16. 從webservice訪問Spring bean?
- 17. 從Windows Mobile訪問WebService
- 18. asmx webservice問題日期對象
- 19. 從Servlet訪問Tomcat上下文路徑
- 20. 從jaas訪問spring上下文LoginModule
- 21. 從Java服務訪問Android上下文
- 22. 從IParameterInspector(WCF)訪問上下文信息
- 23. 通過javascript訪問C#webservice
- 24. HttpModule中的Sitecore上下文
- 25. DbSet - 訪問上下文
- 26. 從角度調用asmx webservice 2
- 27. 訪問用戶上下文
- 28. 訪問prestashop上下文
- 29. 訪問SOAP WebService
- 30. 訪問上下文菜單
ASMX是一項傳統技術,不應該用於新開發。 WCF應該用於Web服務客戶端和服務器的所有新開發。一個暗示:微軟已經在MSDN上退役了[ASMX Forum](http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/threads)。 – 2013-04-22 02:39:37