相同的服务部署在机器A \B\C 上,使用的是Remoting
客户机去调用此服务
如果A服务down了不能使用了,则重新去调用B上的
请问了 在调用Remoting服务前,怎么判断它是不是好用的,若是不好用的则不去调用它,改而调用别的机器上的

解决方案 »

  1.   

    我就是想知道客户端调用remoting, 如果A服务down了不能使用了
    怎么判断出来,比如引发什么异常,怎样捕获到此异常
    谢谢
      

  2.   


    看来只有这个办法了, 加个catch判断
      

  3.   


      catch (System.Net.Sockets.SocketException sktEx)
                {
                    if(sktEx.ErrorCode==10061)//由于目标机器积极拒绝,无法连接。
                    {
                        //dosometing...
                    }
                               
                }
     目前只知道这么做了
      

  4.   

    如果服务端不能正常连接,是不会返回状态的!通过catch捕捉错误就行,等待响应,一般是2分钟左右.----------
    三易通软件(服装进销存,服装进销存软件,服装进销存管理软件,服装进销存管理系统,服装店管理软件,服装店管理系统,服装销售管理软件,服装销售管理系统,服装零售管理软件,服装零售管理系统,服装店软件,服装店收银软件):http://www.3etsoft.cn
      

  5.   

    有一种方式,你可以开启一个HTTPChannel。这个Channel专门用来给客户端调用以判断服务是否可用。因为HTTPChannel可以设置超时,这样就可以在可控的时间内获取服务的大致状态。
      

  6.   

    楼上的  Hashtable props = new Hashtable();
                props["name"] = "tcp_rem";
                props["timeout"] = 6000;
                TcpChannel _tcpChannel = new TcpChannel(props, null, null);
                ChannelServices.RegisterChannel(_tcpChannel, false);            Hello obj = (Hello)Activator.GetObject(typeof(Hello), p_strUrl);我试验过使用TcpChannel  也可以设置超时 超时时间6秒