remoting中客户端激活的远程对象会在每个客户端连上时都创建一个实例, 客户端退出时ITrackingHandler的DisconnectedObject()方法能检测到该实例,并释放该实例。那么如何提前手动释放某个客户端实例呢,也就是如何在远程对象中写一个方法在必要时释放本类的远程实例,如何写?

解决方案 »

  1.   

    不知道下面这两种是否是楼主需要的,我做tcp channel的时候是这么取消的
    -----------------------------------------------------------
    if(ChannelServices.RegisteredChannels.Length > 0)
    {
        ////取消channel的注册
        ChannelServices.UnregisterChannel(ChannelServices.RegisteredChannels[0]);
    }-------------------------------------------
    I_BillingService IBS;
    m_TcpChan = new TcpChannel();
    ChannelServices.RegisterChannel(m_TcpChan);
    IBS = (I_BillingService)Activator.GetObject(typeof(I_BService),
    "tcp://" + BSIp + ":" + BSPort + "/I_BService");
    res2 = IBS.Order(...);
    ChannelServices.UnregisterChannel(m_TcpChan);//取消channel的注册
      

  2.   

    现在对remoting没兴趣了,
    学webservice把