2

我正在为 Honeywell Dolphin 6100 开发一个应用程序,这是一款带有条形码扫描仪的移动计算机,它使用类似 Windows CE 5.0 的操作系统。

我想使用一个可以检查网络连接是否存在的功能,我尝试使用下面的代码,但它太慢了。

public static bool CheckForInternetConnection()
{
   string url = "http://www.Microsoft.com/";
   try
   {
       System.Net.WebRequest myRequest = System.Net.WebRequest.Create(url);
       System.Net.WebResponse myResponse = myRequest.GetResponse();
   }
   catch (System.Net.WebException)
   {
       return false;
   }
   return true;
}

任何人都有一个更快的方法来做到这一点。我提到我在win7上使用VS2008

4

2 回答 2

2

由于您没有对响应的内容做任何事情,因此实际上没有理由请求它,并等待所有这些数据的网络传输。您可能会尝试设置 myRequest.Method = "HEAD",它只会返回标头(假设 Web 服务器支持它),但显然仍要验证您是否可以与远程 Web 服务器通信。

http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.method.aspx

于 2013-04-17T16:59:06.147 回答
0

假设您的 .net 运行时版本可用,您可以调用静态System.Net.NetworkInformation.GetIsNetworkAvailable()方法。在某些情况下,它会返回 true 并且您将无法路由到外部世界,但它会告诉您您的设备是否具有标记为已启动的网络接口。

于 2013-04-18T18:35:34.223 回答