コード例 #1
0
ファイル: CSessionClient.cs プロジェクト: ykebaili/sc2idlls
 ///////////////////////////////////////////////
 public virtual void RefreshUtilisateur()
 {
     if (m_cacheInfosUtilisateur != null)
     {
         m_cacheInfosUtilisateur.Dispose();
     }
     m_cacheInfosUtilisateur = null;
 }
コード例 #2
0
ファイル: CSessionClient.cs プロジェクト: ykebaili/sc2idlls
        ///////////////////////////////////////////////
        public virtual void CloseSession()
        {
            if (!m_bIsOpen)
            {
                return;
            }
            DateTime dt = DateTime.Now;

            if (BeforeClosingSession != null)
            {
                BeforeClosingSession(this);
            }
            TimeSpan sp = DateTime.Now - dt;

            //Console.WriteLine("Closing " + m_nIdSession + " : 1-" + sp.TotalMilliseconds);
            CGestionnaireObjetsAttachesASession.OnCloseSession(IdSession);
            sp = DateTime.Now - dt;
            //Console.WriteLine("Closing " + m_nIdSession + " : 2-" + sp.TotalMilliseconds);
            if (OnCloseSession != null)
            {
                OnCloseSession(this, new EventArgs());
            }
            sp = DateTime.Now - dt;
            //Console.WriteLine("Closing " + m_nIdSession + " : 3-" + sp.TotalMilliseconds);
            m_tableSessionParId.Remove(IdSession);
            sp = DateTime.Now - dt;
            //Console.WriteLine("Closing " + m_nIdSession + " : 4-" + sp.TotalMilliseconds);
            m_tableSessionsLocales.Remove(IdSession);
            sp = DateTime.Now - dt;
            //Console.WriteLine("Closing " + m_nIdSession + " : 5-" + sp.TotalMilliseconds);
            if (m_sessionSurServeur != null)
            {
                m_sessionSurServeur.CloseSession();
            }
            sp = DateTime.Now - dt;
            //Console.WriteLine("Closing " + m_nIdSession + " : 6-" + sp.TotalMilliseconds);
            m_sessionSurServeur = null;
            if (m_cacheInfosUtilisateur != null)
            {
                m_cacheInfosUtilisateur.Dispose();
            }
            sp = DateTime.Now - dt;
            //Console.WriteLine("Closing " + m_nIdSession + " : 7-" + sp.TotalMilliseconds);
            m_cacheInfosUtilisateur = null;
            //Nettoie les recepteurs de notification
            m_tableRecepteursParType.Clear();
            GetDataThread(m_bUseSessionUtilisateurData).PopIdSession();
            sp = DateTime.Now - dt;
            //Console.WriteLine("Closing " + m_nIdSession + " : 8-" + sp.TotalMilliseconds);
            m_bIsOpen = false;

            m_sponsor.Unregister(m_sessionSurServeur);
            sp = DateTime.Now - dt;
            //Console.WriteLine("Closing " + m_nIdSession + " : 9-" + sp.TotalMilliseconds);
            m_sessionSurServeur = null;
        }
コード例 #3
0
ファイル: CSessionClient.cs プロジェクト: ykebaili/sc2idlls
 ///////////////////////////////////////////////
 public virtual IInfoUtilisateur GetInfoUtilisateur()
 {
     if (m_cacheInfosUtilisateur == null)
     {
         if (m_sessionSurServeur == null)
         {
             return(null);
         }
         m_cacheInfosUtilisateur = new CCacheInfoUtilisateurSurClient(IdSession, m_sessionSurServeur.GetInfoUtilisateur());
     }
     return(m_cacheInfosUtilisateur);
 }