以下代码我用来检查每2分钟后机器的互联网连接,它工作正常,但问题是当OpenReadTaskAsync()
抛出时,应用程序的GUI挂起500ms-1s-2s WebException
,只有当WIFI打开并连接到网络但该网络上没有互联网时才会发生这种情况。当WIFI未连接到任何网络或WIFI关闭时,它不会挂起。
我正在打电话给await OpenReadTaskAsync()
,为什么它仍然是挂起应用程序的原因?
Uri uri = new Uri("http://clients3.google.com/generate_204");
try
{
using (var client = new WebClient())
{
using (await client.OpenReadTaskAsync(uri))
{
return true;
}
}
}
catch(WebException ex)
{
MessageBox.Show(ex.ToString());
return false;
}
我正在调用类似
的方法nointernet = await MyNetworking.CheckForInternetConnection() ? false : true;