2012-10-03 53 views
0

Web服務列在IgnoreurlPrefixes列表中,我猜測它與它有關。我在列表中列出了另一個服務而不是,並且它返回登錄的用戶。 (不要過於複雜的事情,但我不明白爲什麼我能夠有一個服務可以調用,另一個不是基於它是否在IgnorURLPrefixes列表中。)當用戶登錄時,Sitecore.Context.User在Web服務中返回匿名

所以問題是:如何做當從Web服務調用時,我得到Sitecore.Context.User以返回登錄用戶?

回答

2

您沒有Sitecore上下文,因爲Sitecore忽略了請求的頁面,因此未由其處理。 如果你需要一個Sitecore的情況下,你不能在IgnorURLPrefixes列表中列出的網址...

+0

謝謝。然而,更加惡劣的是,一些服務沒有被列出就能正常工作,而其他服務則拋出「長度不能小於零」的錯誤。 –

0

作爲另一個答案指出,Siteocre.Context當URL中IgnoreURLPrefixes被列爲不可用。最好的辦法是在httpRequestBegin管道中添加一個處理器,在Sitecore嘗試解析項目之前中止請求。這樣,上下文可以至少部分可用。

Examples of doing this with MVC routes很豐富。

相關問題