2009-12-12 37 views

回答

5

不幸的是,這是Silverlight WebClient的衆多bizare設計選項之一,您無法輕鬆訪問Response,執行POST。它很奇怪,因爲大多數POST操作都有一個有用的響應體。

但是有很多事情可以做。您可以直接棄用WebClient並使用WebRequest/WebResponse。您可以繼承WebClient並覆蓋GetWebResponse,以便您可以攔截它。

但是,如果您的字符串消息比較短,那麼一個狡猾的選項是將自定義HTTP標頭添加到響應中。

執行OpenWriteCompleted的線程將在輸出流關閉之前阻塞,直到收到響應。此時,您可以訪問WebClient對象上的ResponseHeaders集合以檢索自定義標題的值。 (爲什麼響應流在這個點上沒有提供給我!)

+0

您可以介紹一下如何在ashx文件中添加「自定義HTTP頭」的更多細節?謝謝〜 – Jay 2009-12-14 03:18:44

0

在您HttpHandler你只需要

context.Response.Write("You made it"); 

要閱讀它的Silverlight的一面,你可能需要處理OpenReadCompleted事件。

+0

OpenReadCompleted僅在使用OpenReadAsync時觸發。 – AnthonyWJones 2009-12-12 20:22:39

相關問題