Silverlight WebClient和HTTP状态代码

时间:2012-06-13 07:22:19

标签: silverlight webclient httprequest

我正在使用HSS Interlink在我的应用程序中上传下载文件。我面临的问题是我的下载处理程序正在返回类似500,404等的HTTPStatusCodes但问题是当我提出请求它正确显示我真正想要返回的500状态代码时,但在我检查HttpWebResponse.Status时在Silverlight客户端在例外我得到404 .. 我在msdn上对此进行了进一步调查,发现了一个非常奇怪的评论:

  

为HTTP和HTTPS方案返回的唯一状态代码值   好的和NotFound。

http://msdn.microsoft.com/en-us/library/system.net.httpstatuscode%28v=vs.95%29.aspx

有没有人可以对此有所了解?这是否意味着silverlight webClient只能响应OK和NotFound状态?

1 个答案:

答案 0 :(得分:4)

找到答案.. silverlight需要注册url方案,它可以处理传入的httpstatus代码。

bool httpResult = WebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp);
bool httpsResult = WebRequest.RegisterPrefix("https://", WebRequestCreator.ClientHttp);

我确信这不是RegisterPrefix的唯一用途。我希望其他人帮助我了解它的潜在用途..

修改

silverlight提供了两种使用http堆栈的模式。一个是默认使用的browserStack。所有cookie和auth标头都由浏览器处理,但它不会发送任何状态代码以换取silverlight客户端。

另一方面,ClientHttp堆栈可以让您获取状态代码和其他异常详细信息,但它要求您自己管理所有内容,包括cookie,标题等。

问候。