我正在使用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状态?
答案 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,标题等。
问候。