Web服務列在IgnoreurlPrefixes
列表中,我猜測它與它有關。我在列表中列出了另一個服務而不是,並且它返回登錄的用戶。 (不要過於複雜的事情,但我不明白爲什麼我能夠有一個服務可以調用,另一個不是基於它是否在IgnorURLPrefixes
列表中。)當用戶登錄時,Sitecore.Context.User在Web服務中返回匿名
所以問題是:如何做當從Web服務調用時,我得到Sitecore.Context.User
以返回登錄用戶?
Web服務列在IgnoreurlPrefixes
列表中,我猜測它與它有關。我在列表中列出了另一個服務而不是,並且它返回登錄的用戶。 (不要過於複雜的事情,但我不明白爲什麼我能夠有一個服務可以調用,另一個不是基於它是否在IgnorURLPrefixes
列表中。)當用戶登錄時,Sitecore.Context.User在Web服務中返回匿名
所以問題是:如何做當從Web服務調用時,我得到Sitecore.Context.User
以返回登錄用戶?
您沒有Sitecore上下文,因爲Sitecore忽略了請求的頁面,因此未由其處理。 如果你需要一個Sitecore的情況下,你不能在IgnorURLPrefixes
列表中列出的網址...
作爲另一個答案指出,Siteocre.Context
當URL中IgnoreURLPrefixes
被列爲不可用。最好的辦法是在httpRequestBegin
管道中添加一個處理器,在Sitecore嘗試解析項目之前中止請求。這樣,上下文可以至少部分可用。
謝謝。然而,更加惡劣的是,一些服務沒有被列出就能正常工作,而其他服務則拋出「長度不能小於零」的錯誤。 –