//--//

        protected void RegisterRemoteObject(ServerRemoteObject mbr)
        {
            UnregisterRemoteObject();

            m_mbr     = mbr;
            m_sponsor = new ClientSponsor();
            m_sponsor.Register(mbr);
        }
        void ITrackingHandler.DisconnectedObject(object obj)
        {
            ServerRemoteObject sro = obj as ServerRemoteObject;

            if (sro != null)
            {
                sro.OnDisconnect();
            }
        }
        protected void UnregisterRemoteObject()
        {
            try
            {
                if (m_sponsor != null)
                {
                    m_sponsor.Unregister(m_mbr);
                }
            }
            catch
            {
            }

            m_sponsor = null;
            m_mbr     = null;
        }
 protected void UnregisterRemoteObject()
 {
     try
     {
         if(m_sponsor != null)
         {
             m_sponsor.Unregister( m_mbr );            
         }                
     }
     catch
     {
     }
     
     m_sponsor = null;
     m_mbr     = null;
 }
        //--//

        protected void RegisterRemoteObject(ServerRemoteObject mbr)
        {
            UnregisterRemoteObject();

            m_mbr     = mbr;
            m_sponsor = new ClientSponsor();
            m_sponsor.Register( mbr );            
        }