/////////////////////////////////////////////// public CResultAErreur OpenSession(IAuthentificationSession authentification, string strDescriptionApplication, ETypeApplicationCliente typeApplication) { CResultAErreur result = CResultAErreur.True; IGestionnaireSessions gestionnaire = null; try { //Ne pas utiliser GestionnaireSessions car on a besoin du type de gestionnaire //Si l'appli utilise plusieurs gestionnaires de sessions gestionnaire = (IGestionnaireSessions)C2iFactory.GetNewObject(m_typeGestionnaireSessions); } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); result.EmpileErreur(I.T("Error during the allowance of sessions manager|107")); return(result); } m_authentification = authentification; m_strDescription = strDescriptionApplication; m_typeApplication = typeApplication; try { result = gestionnaire.OpenSession(this); if (result) { m_tableSessionParId[IdSession] = this; m_tableSessionsLocales[IdSession] = true; if (AfterOpenSession != null) { AfterOpenSession(this); } if (m_nFirstSessionOuverte == -1) { m_nFirstSessionOuverte = IdSession; } GetDataThread(m_bUseSessionUtilisateurData).PushIdSession(IdSession); m_bIsOpen = true; } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); result.EmpileErreur(I.T("Error while opening session|108")); return(result); } return(result); }
public bool CloseSession() { CSessionClient session = CSessionClient.GetSessionForIdSession(IdSession); if (session != null) { try { session.CloseSession(); return(true); } catch { try { IGestionnaireSessions gestionnaire = (IGestionnaireSessions)C2iFactory.GetNewObject(typeof(IGestionnaireSessions)); ISessionClientSurServeur sessionSurServeur = gestionnaire.GetSessionClientSurServeur(IdSession); sessionSurServeur.CloseSession(); return(true); } catch (Exception) { return(false); } } } return(false); }