我按照示例将文件成功上传到服务器:
是否可以在webclient OpenWriteCompleted
事件中从服务器获取字符串消息?
答案 0 :(得分:5)
不幸的是,这是Silverlight WebClient的众多商业设计选择之一,您无法轻松访问Response。它真的很奇怪,因为大多数POST操作都有一个有用的响应体。
但是你可以做很多事情。您可以放弃WebClient
并直接使用WebRequest
/ WebResponse
。您可以继承WebClient
并覆盖GetWebResponse
,以便拦截它。
然而,如果您的字符串消息相当短,那么一个偷偷摸摸的选项是为响应添加自定义HTTP标头。
执行OpenWriteCompleted的线程将在输出流关闭时阻塞,直到收到响应。此时,您可以访问ResponseHeaders
对象上的WebClient
集合,以检索自定义标头的值。 (为什么在这一点上没有提供响应流可以逃避我!)
答案 1 :(得分:0)
在HttpHandler
上,您只需要
context.Response.Write("You made it");
要在Silverlight端阅读,您可能需要处理OpenReadCompleted
事件。