现在是这样,有一个window ce 程序,调用webservice,返回数据,因为程序是部署在PDA上,偶尔出现没有网络的情况,导致PDA假死,其实就是在调用webservice等待返回结果,因为没有网络,导致程序一直在连接。
我用过  这种方式ping的发现一直抛异常,其实想问有没有什么其他的方式实现,检测webservice是否可以连接?无网络时提示网络连接失败,而不是程序无法应。求助???

解决方案 »

  1.   

    其实代码差不多的,比如下面是我的代码来判断是否"有本地连接"
            /// <summary>
            /// 判断本地是否连接
            /// </summary>
            /// <param name="ip"></param>
            /// <returns></returns>
            public static bool CheckWlan(string ip)
            {
                var ping = new System.Net.NetworkInformation.Ping();
                PingReply pr;
                pr = ping.Send(ip);
                if (pr.Status != IPStatus.Success)
                {
                    return false;
                }
                return true;
            }那么你在调用webservice的时候 先执行一下这个.然后在执行webservice.
    其实给你的方式是一样的.实在不行 你试试设置webservice是否有"timeout"字段.之类的东西呢?
      

  2.   

    只这样,使用ping的方法会抛异常,即使是ping本地的ip也会抛异常,这点很不理解。  这是本地ping的时候没什么问题。
     
    调试程序就会报这个错。
      

  3.   

    C# winCE 下 能用 System.Net.NetworkInformation  ???请问三楼!