【问题标题】:Silverlight WebClient and HTTP status CodesSilverlight WebClient 和 HTTP 状态代码
【发布时间】:2012-06-16 02:57:34
【问题描述】:

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

为 HTTP 和 HTTPS 方案返回的唯一状态代码值 正常且未找到。

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

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

【问题讨论】:

标签: silverlight webclient httprequest


【解决方案1】:

找到了答案。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、标头等。

问候。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    相关资源
    最近更新 更多