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));
}
}
}