我编写了这个函数来检查互联网连接是否可用:
bool IsOnline()
{
try
{
var request = (HttpWebRequest)WebRequest.CreateHttp("http://www.google.com/");
request.Timeout = 2000;
var response = (HttpWebResponse)request.GetResponse();
return ((int)response.StatusCode) < 400;
}
catch (Exception) { return false; }
}
它似乎在几乎所有情况下都有效,但是在我的工作网络下,它在连接可用时超时错误后返回 false。
注意: - 此函数返回 false,但我可以在我的 WPF 应用程序中使用 webbrowser 组件上网 - 连接非常好。(因此加载 google.com 的时间不可能超过 2 秒) - 我在控制面板/Internet 选项/连接中正确配置的代理后面
有任何想法吗?