2009-08-14 60 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