0

我在 Silverlight 5 中编写了一个用 C# 编写的应用程序(使用 VWD 2012)。

此应用程序使用 HttpClient GetAsync 和 PostAsync 请求“登录”到网站(非常合法)。

但是..当我运行应用程序并遇到一个返回 HTTP 302 响应的网站(即“对象移至此处”)时,我的应用程序只是挂起并且不会“跟随”响应重定向到新 URL。

我怎么知道问题出在 Silverlight 5 上?

因为当我在 Silverlight 5 之外运行相同的应用程序(例如作为控制台应用程序)时,它可以正常工作。

我怎么知道是这些 302 消息有问题?

因为当我在 Silverlight 5 内部运行这个相同的应用程序到另一个不返回 302 的网站时,它可以正常工作。

我是否尝试使用 'catch (HttpRequestException hre)' 或仅使用 'catch' 来捕获错误?是的,但似乎没有发现或捕获错误 =:O((

以下是违规行:

try
{
    HttpResponseMessage response = await client.PostAsync(uriPOST, content); // This 'hangs'
}
catch (HttpRequestException hre)   // Nothing is ever caught
{
    Console.WriteLine(hre.ToString());
}
catch (Exception ex)               // Nothing is ever caught
{
    Console.WriteLine(ex.ToString());
}

我有一个真正的安全证书附加到 Silverlight 5 应用程序(它工作得很好,因为我可以访问不返回 302 的网站)......

我在 HTTPClient 处理程序中将“AllowAutoRedirect”设置为“true”。

有任何想法吗?为什么这在 Silverlight 5 之外有效,但在 Silverlight 5 内无效?

4

0 回答 0