2009-08-14 53 views
6

我在Silverlight中發佈了一個HttpWebRequest並試圖讀取(除其他之外)響應中的標題。不幸的是,儘管我可以獲取響應對象(HttpWebResponse),但任何訪問Headers集合的嘗試都會導致「未實現」異常。任何想法如何做到這一點?我試圖從azure(〜8k行)中拉出一個大的記錄集,並且需要檢查連續令牌的響應頭。在Silverlight中檢索響應頭?

回答

5

感謝@silverfighter,我有答案。訣竅是告訴SilverLight 3讓客戶端(.NET)處理這個調用,而不是瀏覽器(默認)。一旦你這樣做了,你就可以通過WebClient和HttWebRequest方法訪問響應頭文件。點擊此處瞭解詳情:

http://blogs.msdn.com/carlosfigueira/archive/2009/08/15/fault-support-in-silverlight-3.aspx http://msdn.microsoft.com/en-us/library/dd470096(VS.95).aspx http://blogs.msdn.com/silverlight_sdk/archive/2009/08/12/new-networking-stack-in-silverlight-3.aspx

0

不幸的是,雖然該屬性存在,但它同樣返回未實現的異常。

我很難相信這和看起來一樣困難......我會想象很多人都有相同的要求。

0

響應頭不會在瀏覽器HTTP處理支持。 必須在調用之前指定客戶端HTTP處理您的HttpHandler:

布爾httpResult = WebRequest.RegisterPrefix( 「HTTP://」,WebRequestCreator.ClientHttp);

WebClient wc = new WebClient();

wc.OpenReadCompleted + = new OpenReadCompletedEventHandler(wc_OpenReadCompleted);

wc.OpenReadAsync(...);

結果標頭現在可用於wc_OpenReadCompleted方法中的webClient對象。 看一看:http://msdn.microsoft.com/en-us/library/dd920295(v=vs.95).aspx