using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Web.Caching; /// /// Summary description for ProveedorCacheUsuarios /// public static class ProveedorCacheUsuarios { private static int mnSessionMinutes = Convert.ToInt32(UtilitarioWeb.Utilitario.leerParametro("ParametrosAplicativo", "SessionMinutes"));//60; public static bool InsertSessionCacheItem(string sUserID) { try { if (GetSessionCacheItem(sUserID) != "") { return false; } else { CacheItemRemovedCallback oRemove = new CacheItemRemovedCallback(SessionEnded); //HttpContext.Current.Cache.Insert(sUserID, sUserID, null, DateTime.MaxValue, TimeSpan.FromMinutes(mnSessionMinutes), CacheItemPriority.High, oRemove); HttpRuntime.Cache.Insert(sUserID, sUserID, null, DateTime.MaxValue, TimeSpan.FromMinutes(mnSessionMinutes), CacheItemPriority.High, oRemove); return true; } } catch (Exception e) { return false; } } public static string GetSessionCacheItem(string sUserID) { string sRet = ""; try { //sRet = System.Web.HttpContext.Current.Cache[sUserID].ToString(); sRet = HttpRuntime.Cache[sUserID].ToString(); if (sRet == null) { sRet = ""; } } catch (Exception) { } return sRet; } public static void SessionEnded(string key, object val, CacheItemRemovedReason r) { } public static void DeleteSessionCacheItem(string sUserID) { try { //HttpContext.Current.Cache.Remove(sUserID); HttpRuntime.Cache.Remove(sUserID); } catch (Exception e) { throw new Exception(e.Message, e.InnerException); } } public static void NullSession() { HttpContext.Current.Session["Usuario"] = null; HttpContext.Current.Session["Clave"] = null; HttpContext.Current.Session["OpcionesPerfilUsuario"] = null; //HttpContext.Current.Session[Constants.KEYSIDUSER] = null; //HttpContext.Current.Session[Constants.KEYSIDUSERNAME] = null; //HttpContext.Current.Session[Constants.KEYSIDPROFILE] = null; //HttpContext.Current.Session[Constants.KEYSOPTIONS] = null; //HttpContext.Current.Session[Constants.KEYSMODULE] = null; //HttpContext.Current.Session[Constants.KEYSMODULE2] = null; //HttpContext.Current.Session[Constants.KEYSPERS] = null; //HttpContext.Current.Session[Constants.KEYSIDPERS] = null; //HttpContext.Current.Session[Constants.KEYAREAPERS] = null; //HttpContext.Current.Session[Constants.KEYIDAREAPERS] = null; HttpContext.Current.Session.Clear(); } }