none
关于客户端连接打开关闭的问题 RRS feed

  • 问题

  • ServiceClient _client = new ServiceClient(_binding, _endpoint);
    
    _client.Open();
    _client.DoA();
    _client.Close();
    
    _client.Open(); //不能重新打开,提示对象已经释放
    _client.DoB();
    _client.Close();

    HI

    最近发现了如上这个问题,就是一个客户端的实例关闭连接后,就不能再打开了。

    是我代码的问题吗?还是WCF的设计就不允许这样随时打开/关闭连接(像数据库一样)?

    主要是有时候我想这样使用,以达到节省服务器的同时连接数的目的:

    //全局
    public static ServiceClient _myConnection;
    
    //主调用
    public void Main(){
         fooA();
         fooB(); //报错,提示client对象已释放
    }
    
    public void fooA(){
        ServiceClient _client = new ServiceClient(_binding,            _endpoint);
        _client.Open();
        _client.DoA();
        _client.Close();
        //保存起来
        _myConnection = _client;
    }
    
    public void fooB(){
        _myConnection.Open(); 
        _myConnection.DoB();
        _myConnection.Close();
    }


    请问怎么达成?谢谢!


    2013年3月30日 14:18

答案

全部回复