Asynchronous 来自未知IP地址的GetAsync导致应用程序崩溃
应用:Asynchronous 来自未知IP地址的GetAsync导致应用程序崩溃,asynchronous,asp.net-web-api,httpclient,Asynchronous,Asp.net Web Api,Httpclient,应用: 使用HttpClient从Web API异步获取数据的WPF应用程序(例如:http:///api/GetData)) 获取数据间隔:3s 示例代码: //initialize _httpClient.BaseAddress = new Uri("http://192.168.1.100"); _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("ap
- 使用HttpClient从Web API异步获取数据的WPF应用程序(例如:http:///api/GetData))
- 获取数据间隔:3s李>
//initialize
_httpClient.BaseAddress = new Uri("http://192.168.1.100");
_httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
//get data method
//......
var response = await _httpClient.GetAsync(uri); //called every 3 seconds
//......
三种情况:
- 如何处理上述情况3中的TaskCanceledException,并防止应用程序崩溃
- 实际上,我忘了捕获TaskCanceledException,这当然可以在应用程序代码中捕获李>
所以,问题解决了您能展示一些代码吗?为什么不捕捉异常?用try-catch,或者如果你是“射击和遗忘”,继续犯错。在.NET中,当任务引发异常且未捕获时,进程将终止。这些异常将在System.dll和mscorlib.dll中引发,因此无法捕获它们。因此异常不会传播到代码中?等待的函数永远不会返回?这是一种非常奇怪的行为。在系统或mscorlib中引发异常是正常的,您确定没有运行导致此问题的任何其他任务吗?重复的getdata线程是唯一一个(SocketException->WebException->ObjectDisposedException->HttpRequestException->…)指示http连接未成功创建并返回。我很好奇,在情况2中,应用程序没有崩溃。