2009-02-26 72 views
0

有誰知道是否有可能發現Silverlight中WCF調用的響應導致302(臨時重定向)。Silverlight - 檢查302 http響應

生成302是因爲我們的服務在ISA和用戶會話超時之後。 Silverligt應用程序仍然在瀏覽器中加載,並且用戶進行交互以發起失敗的WCF調用。我可以得到一個未找到的錯誤,但這也報告了一些不同的問題,所以不是一個真正的解決方案。我想專門定位302並刷新頁面以讓用戶重新進行驗證。

回答

0

我一直在尋找同一個問題的答案,但決定不使用這種方法來解決我正在處理的問題,所以我沒有一個強制性的解決方案,但如果您使用的是Silverlight 3,那麼你可能可以解決它。我得到儘可能使用替代HTTP堆棧於本頁面底部的討論:

http://developers.de/blogs/damir_dobric/archive/2009/08/22/soap-faults-and-new-network-stack-in-silverlight-3.aspx

這至少讓我獲取SOAP錯誤,但我不知道是否/如何可以訪問HTTP 302響應,因爲當我嘗試這樣做時,我發現Silverlight似乎實際上遵循重定向並在那裏重新發出我的SOAP請求,而不是將其報告回給我的應用程序。

我開始研究的是如何使用行爲改變這種情況。雖然我不太瞭解這個調查,但不知道它是否可行!

1

我遇到類似的問題,幸運的是找到了一個解決方案:能夠檢索超過200或404以外的Web請求的StatusCode你應該使用

var request = WebRequestCreator.ClientHttp.Create(uri) 

,而不是

var request = WebRequest.Create(uri) as HttpWebRequest; 

我寫的最近在這個問題上的帖子,你可以看看here