我在Silverlight 5中编写了一个用C#编写的应用程序(使用VWD 2012)。
此应用程序使用HttpClient GetAsync和PostAsync请求“登录”网站(非常合理)。
然而..当我运行应用程序并遇到一个返回HTTP 302响应的网站(即“对象移到这里”)时,我的应用程序只是挂起并且不会“跟随”响应重定向到新的URL。
我怎么知道它是Silverlight 5的问题?
因为当我运行Silverlight 5的SAME应用程序OUTSIDE(例如作为控制台应用程序)时 - 它可以正常工作。
我怎么知道这些302消息是什么问题?
因为当我将Silverlight 5的这个SAME应用程序INSIDE运行到另一个没有返回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中工作?