public void Dispose() { if (m_bDisposed) { return; } try { CSessionClient session = CSessionClient.GetSessionForIdSession(IdSession); if (session != null) { session.UnregisterRecepteurNotification(this); } /*CGestionnaireObjetsAttachesASession.DetacheObjet ( IdSession, this ); * IGestionnaireNotification gestionnaire = (IGestionnaireNotification)C2iFactory.GetNewObjetForSession("CGestionnaireNotification", typeof(IGestionnaireNotification), m_nIdSession); * if ( gestionnaire != null ) * gestionnaire.UnregisterRecepteur ( this );*/ m_bDisposed = true; } catch {} }
/// /////////////////////////////////////////////////////// /// Déclare le nouveau recepteur et l'enregistre auprès du gestionnaire /// de notification du système. public CRecepteurNotification(int nIdSession, Type typeDeNotificationGeree) { m_nIdSession = nIdSession; CSessionClient session = CSessionClient.GetSessionForIdSession(nIdSession); if (session == null) { throw (new Exception(I.T("The @1 session doesn't exist|104", nIdSession.ToString()))); } try { session.RegisterRecepteurNotification(this, typeDeNotificationGeree); } catch (Exception e) { System.Console.WriteLine("Erreur enregistrement de notification " + e.ToString()); } /*IGestionnaireNotification gestionnaire = (IGestionnaireNotification)C2iFactory.GetNewObjetForSession("CGestionnaireNotification", typeof(IGestionnaireNotification), m_nIdSession); * if ( gestionnaire != null ) * gestionnaire.RegisterRecepteur(this, typeDeNotificationGeree); * CGestionnaireObjetsAttachesASession.AttacheObjet(nIdSession, this);*/ }
/////////////////////////////////////////////// /// <summary> /// Retourne la session unique d'une application n'hébergeant qu'une seule Session /// </summary> /// <returns></returns> public static CSessionClient GetSessionUnique() { int nIdSession = m_nFirstSessionOuverte; try { IdSessionUtilisateurData data = GetDataThread(GlobalUseSessionUtilisateurData); if (data.HasIdSession) { nIdSession = data.IdSession; } } catch { } CSessionClient session = (CSessionClient)m_tableSessionParId[nIdSession]; if (session == null) { session = GetSessionForIdSession(nIdSession); } return(session); }