Globals.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Aitex.Core.RT.Log;
  6. namespace Aitex.Core.Util
  7. {
  8. public static class Globals
  9. {
  10. static Globals()
  11. {
  12. Session = new Session();
  13. }
  14. public static T SessionAs<T>(string sessionId)
  15. {
  16. try
  17. {
  18. return (T)Session[sessionId];
  19. }
  20. catch (Exception ex)
  21. {
  22. LOG.Error(ex.ToString());
  23. }
  24. return default(T);
  25. }
  26. public static Session Session { get; private set; }
  27. }
  28. public class Session
  29. {
  30. public object this[string sessionId]
  31. {
  32. get
  33. {
  34. if (_sessions.Keys.Contains(sessionId))
  35. return _sessions[sessionId];
  36. return null;
  37. }
  38. set
  39. {
  40. if (_sessions.Keys.Contains(sessionId))
  41. {
  42. _sessions[sessionId] = value;
  43. }
  44. else
  45. {
  46. _sessions.Add(sessionId, value);
  47. }
  48. }
  49. }
  50. public void Remove(string sessionId)
  51. {
  52. if (_sessions.Keys.Contains(sessionId))
  53. _sessions.Remove(sessionId);
  54. }
  55. Dictionary<string, object> _sessions = new Dictionary<string, object>();
  56. }
  57. }