public static T Get <T>(this Microsoft.AspNetCore.Http.ISession session, string key) { var value = session.GetString(key); return(value == null ? default(T) : JsonConvert.DeserializeObject <T>(value)); }
/// <summary> /// Set value of type <typeparam name="T">T</typeparam> at session dictionary using protobuf-net /// </summary> /// <typeparam name="T">type of value to set. Must be proto-serializable</typeparam> /// <param name="session">session to add values</param> /// <param name="key">key of value</param> /// <param name="value">value to set</param> public static void SetSessionValues <T>(this ISession session, string key, T value) { using (var bs = new MemoryStream()) { ProtoBuf.Serializer.Serialize(bs, value); session.Set(key, bs.ToArray()); } }
/// <summary> /// Deserialize values if type T from session dictionary using protobuf-net /// </summary> /// <typeparam name="T">type of value</typeparam> /// <param name="session">Session where values located</param> /// <param name="key">key of values in dictionary</param> /// <returns></returns> public static T GetSessionValues <T>(this ISession session, string key) { var val = session.Get(key); if (val == null) { return(default(T)); } using (var bs = new MemoryStream(val)) { return(ProtoBuf.Serializer.Deserialize <T>(bs)); } }
public static void Set <T>(this Microsoft.AspNetCore.Http.ISession session, string key, T value) { session.SetString(key, JsonConvert.SerializeObject(value)); }
public static IDictionary <int, MType> GetMetatypes(this ISession session) { return(session.GetSessionValues <IDictionary <int, MType> >(SessionKeys.MetaTypes)); }
public HomeController(IHttpContextAccessor httpContextAccessor, ILogger <HomeController> logger) { this.session = httpContextAccessor.HttpContext.Session; _logger = logger; }
// We can call ".SetObjectAsJson" just like our other session set methods, by passing a key and a value public static void SetObjectAsJson(this Microsoft.AspNetCore.Http.ISession session, string key, object value) { // This helper function simply serializes theobject to JSON and stores it as a string in session session.SetString(key, JsonConvert.SerializeObject(value)); }
public static T GetJson <T>(this Microsoft.AspNetCore.Http.ISession session, string key) { var sessionData = session.GetString(key); return(sessionData == null ? default(T) : Newtonsoft.Json.JsonConvert.DeserializeObject <T>(sessionData)); }
public static void SetJson(this Microsoft.AspNetCore.Http.ISession session, string key, object value) { session.SetString(key, Newtonsoft.Json.JsonConvert.SerializeObject(value)); }