我正在使用HSS链接上传下载文件在我的应用程序。我面临的问题是,我的下载处理程序正在返回类似于500,404等的HTTPStatusCodes,但问题是,当我篡改请求时,它正确地显示了我真正想返回的500个状态代码,但是在silverlight客户机中,当我检查HttpWebResponse.Status时,我得到了404。我在msdn上进一步研究了这一点,并发现了一个非常奇怪的评论:
( HTTP和HTTPS方案返回的唯一状态代码值)是OK和NotFound。
http://msdn.microsoft.com/en-us/library/system.net.httpstatuscode%28v=vs.95%29.aspx
有谁能对这件事有所了解吗?这是否意味着silverlight webClient只能有OK和NotFound状态作为响应?
发布于 2012-06-13 08:00:58
找到了答案。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堆栈为您提供状态代码和其他异常细节,但它要求您自己管理一切,包括cookies、headers等。
致以问候。
https://stackoverflow.com/questions/11010009
复制相似问题