示例#1
0
        public void SessionStateTest()
        {
            IdSession sessionInfo = new IdSession {
                OwnerId = 9, SessionGuid = new Guid("44AF59D0-2E73-4A1C-8CF9-DA8D2B28EFAF")
            };

            Assert.IsTrue(secHelper.GetCurrentSessionState(sessionInfo));
        }
        ///////////////////////////////////////////////
        public void CloseSession()
        {
            string strMessage = I.T("Closing session @1|110", IdSession.ToString());

            try
            {
                strMessage += " " + GetInfoUtilisateur().NomUtilisateur;
            }
            catch
            {
            }
            CAuthentificationSessionSousSession authSousSession = m_authentification as CAuthentificationSessionSousSession;

            if (authSousSession != null)
            {
                ISessionClientSurServeur sessionPrinc = CGestionnaireSessions.GetSessionClientSurServeurStatic(authSousSession.IdSessionPrincipale);
                if (sessionPrinc != null)
                {
                    sessionPrinc.RemoveSousSession(this);
                }
            }

            C2iEventLog.WriteInfo(strMessage, NiveauBavardage.VraiPiplette);
            int      nIdSession = IdSession;
            DateTime dt         = DateTime.Now;

            MyCloseSession();
            TimeSpan sp = DateTime.Now - dt;

            Console.WriteLine("SessionServeur closing " + nIdSession + " / 1 : " + sp.TotalMilliseconds);
            CGestionnaireObjetsAttachesASession.OnCloseSession(IdSession);
            sp = DateTime.Now - dt;
            Console.WriteLine("SessionServeur closing " + nIdSession + " / 2 : " + sp.TotalMilliseconds);
            CGestionnaireSessions.CloseSession(this);
            sp = DateTime.Now - dt;
            Console.WriteLine("SessionServeur closing " + nIdSession + " / 3 : " + sp.TotalMilliseconds);
            CGestionnaireObjetsAttachesASession.OnCloseSession(IdSession);            //Si jamais le close sessino a réaloué des éléments
            sp = DateTime.Now - dt;
            Console.WriteLine("SessionServeur closing " + nIdSession + " / 4 : " + sp.TotalMilliseconds);
            m_sponsor.Unregister(m_sessionSurClient);
            sp = DateTime.Now - dt;
            Console.WriteLine("SessionServeur closing " + nIdSession + " / 5 : " + sp.TotalMilliseconds);
            m_sessionSurClient = null;
        }
示例#3
0
            ////////////////////////////////////////////////////////////////////////
            public CResultAErreur CommitTrans()
            {
                CResultAErreur result = CResultAErreur.True;

                foreach (IDatabaseConnexion connexion in m_connexions.Values)
                {
                    result = connexion.CommitTrans();
                    if (!result)
                    {
                        C2iEventLog.WriteErreur(I.T("ERROR WHILE TRANSATION CLOSING :\r\nConnection: @1\r\nSession: @2\r\nConnection number for this session: @3|199", connexion.ConnexionString, IdSession.ToString(), m_connexions.Count.ToString()));
                        return(result);
                    }
                }
                m_nNbTransactionsOuvertes--;
                return(result);
            }