예제 #1
0
        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);
        }
예제 #2
0
 public static string GetToken(this ISession sess)
 {
     return(sess.GetString(_tokenKey));
 }