SessionExtension.cs 639 B

123456789101112131415161718192021222324
  1. using System;
  2. using Microsoft.AspNetCore.Http;
  3. using Newtonsoft.Json;
  4. namespace Common.Extension
  5. {
  6. public static class SessionExtension
  7. {
  8. public static T? GetComplexData<T>(this ISession session, string key)
  9. {
  10. var data = session.GetString(key);
  11. if (data == null)
  12. {
  13. return default(T);
  14. }
  15. return JsonConvert.DeserializeObject<T>(data);
  16. }
  17. public static void SetComplexData(this ISession session, string key, object value)
  18. {
  19. session.SetString(key, JsonConvert.SerializeObject(value));
  20. }
  21. }
  22. }