我正在开发WP7-8应用程序,该应用程序使用RestClient从WebServer获取信息。当我关闭互联网连接时,我看到:
中发生类型为"System.Net.WebException"的异常System.Windows.ni.dll,并且在托管/本机之前未进行处理边界
这是什么意思?我应该如何修复它?我的代码:
RestSharp.RestClient _client;
_client = new RestClient { BaseUrl = BaseURL };
_client.Timeout = 50;
resourceString = "Http:\blablabla";
var request = new RestRequest { RequestFormat = DataFormat.Xml, Resource = resourceString };
request.Timeout = 50;
request.IncreaseNumAttempts();
if (System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable() != true)
{
ErrorCallback("Internet connection Error");
return;
}
_client.ExecuteAsync(request, response =>
{
return response;
}
该异常是TimeoutException
。您必须增加Timeout
属性才能让它完成请求,比方说将其设置为4000。
这是问题的要点-WebException
是一种通用的方法,可以告诉你连接出了问题,而不必告诉你它是什么。如果你想这样看,它包罗万象。
要真正了解问题出现的原因,您需要读取catch
块中的响应——服务器会为您提供更多详细信息。