wvd-templates/diagnostics-sample/src/MSFT.WVD.Diagnostics/SessionExtensions.cs (22 lines of code) (raw):

using Microsoft.AspNetCore.Http; using Newtonsoft.Json; namespace MSFT.WVD.Diagnostics { public static class SessionExtensions { public static void Set<T>(this ISession session, string key, T value) { session.SetString(key, JsonConvert.SerializeObject(value)); } public static T Get<T>(this ISession session, string key) { var value = session.GetString(key); return value == null ? default(T) : JsonConvert.DeserializeObject<T>(value); } public static void SetComplexData(this ISession session, string key, object value) { session.SetString(key, JsonConvert.SerializeObject(value)); } } }