/// <summary> /// Fonction permettant de fermer une session /// qui a été retirée du cache /// </summary> /// <param name="k">Nom de clé</param> /// <param name="v">Session</param> /// <param name="r">Raison du retrait</param> private void RemovedCallback(string k, object v, CacheItemRemovedReason r) { if (!String.IsNullOrEmpty(k)) { switch (k) { case BOSessionNameKey: case FOSessionNameKey: NAESession session = (NAESession)v; if (session != null) { // Une session a été extraite du cache // Nous allons la fermer try { session.Dispose(); } catch (Exception) { // Ignorer cette exception }; } break; default: break; } } }
/// <summary> /// Mise en cache d'une session /// </summary> /// <param name="keyName">Nom de la clé</param> /// <param name="session">Session</param> private static void SetSession(string keyName, NAESession session) { HttpRuntime.Cache.Insert(keyName, session, null, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove); }
/// <summary> /// Mise en cache de la session NAESession BO /// </summary> /// <param name="session">Session NAE</param> public static void SetBOSession(NAESession session) { SetSession(BOSessionNameKey, session); }
/// <summary> /// Affectation session NAE /// </summary> /// <param name="naeSession">Session NAE</param> private void SetSession(NAESession naeSession) { this.session = naeSession; }