/// ///////////////////////////////////////////////////////////
        public static CContexteDonnee GetInstance()
        {
            CSessionClient session = CSessionClient.GetSessionUnique();

            while (session is CSousSessionClient)
            {
                session = ((CSousSessionClient)session).RootSession;
            }
            CContexteDonnee contexte   = null;
            int             nIdSession = 0;

            if (session != null)
            {
                nIdSession = session.IdSession;
                bool bIsLocale = CSessionClient.IsSessionLocale(session.IdSession);
                if (!bIsLocale)
                {
                    nIdSession = 0;
                }
                contexte = null;
            }
            if (!m_tableContextesDonneesParSessions.TryGetValue(nIdSession, out contexte))
            {
                contexte = new CContexteDonnee(nIdSession, true, true);
                contexte.GestionParTablesCompletes = true;
                if (nIdSession != 0)
                {
                    ((CSessionClient)session).OnCloseSession += new EventHandler(session_OnCloseSession);
                }
                m_tableContextesDonneesParSessions[nIdSession] = contexte;
            }
            return(contexte);
        }