调整远程对象的生存周期。
因为服务器端的对象实际上是你调用远程方法的时候才生成的,一段时间你不用,对象就被free了,下次你再调用就又会重新生成。所以需要根据你的要求把远程对象的生存周期改长一点。

解决方案 »

  1.   

    你是不是用了singlecall服务器端激活方式啊?去看看msdn里面远程对象的激活方式的部分吧
      

  2.   

    同意 ripper(rIPPER) ,用Singleton就没问题了。
      

  3.   

    改一下服务端就可以了
    WellKnownObjectMode.Singleton
    SingleCall 每个传入的消息由新的对象实例提供服务。 
    Singleton 每个传入的消息由同一个对象实例提供服务。 
      

  4.   

    我试了一下,发现Singleton是对所有的客户端使用一个实例,这样做的话,不会发生共享冲突的问题吗?
      

  5.   

    当然有可能啦;)
    lock一下共享的资源好了
      

  6.   

    >> 我试了一下,发现Singleton是对所有的客户端使用一个实例,这样做的话,不会发生共享冲突的问题吗?
    会,需要你自己控制/调节。
    如果需要每个Client一个Remote Object,可以参考Client Activated Object(CAO)。
    http://www.csdn.net/develop/read_article.asp?id=14110
      

  7.   

    我试了一下,这个CAO的可以.但是每个客户端在实例化后,再调用第一个方法时,这个时间比较长,是不是因为没有设置好的原因?