public static SessionalUser GetUser(this ISession sess) { string cacheKey = GetUserCacheKey(sess); SessionalUser r = CacheUtils.Get <SessionalUser>(cacheKey); if (null != r) { return(r); } string s = sess.GetString(_userIdKey); if (String.IsNullOrEmpty(s)) { return(null); } var setting = new JsonSerializerSettings(); setting.PreserveReferencesHandling = PreserveReferencesHandling.Objects; setting.ReferenceLoopHandling = ReferenceLoopHandling.Serialize; r = JsonConvert.DeserializeObject <SessionalUser>(s, setting); if (null == r || r.Id <= 0) { return(null); } CacheUtils.Set(cacheKey, r); return(r); }
public static void Exit(this ISession sess) { string cacheKey = GetUserCacheKey(sess); CacheUtils.Remove(cacheKey); sess.Clear(); sess.Abandon(); }
public static void SetUser(this ISession sess, SessionalUser user) { string cacheKey = GetUserCacheKey(sess); CacheUtils.Set(cacheKey, user); var setting = new JsonSerializerSettings(); setting.PreserveReferencesHandling = PreserveReferencesHandling.Objects; setting.ReferenceLoopHandling = ReferenceLoopHandling.Serialize; setting.NullValueHandling = NullValueHandling.Ignore; string s = JsonConvert.SerializeObject(user, setting); sess.SetString(_userIdKey, s); }
public static void SetToken(this ISession sess, string token) { sess.SetString(_tokenKey, token); }
public static string GetToken(this ISession sess) { return(sess.GetString(_tokenKey)); }
private static string GetUserCacheKey(ISession sess) { return("WSU_" + sess.Id); }