MockHttpSession.cs 934 B

123456789101112131415161718192021222324252627282930313233343536
  1. using System.Collections.Generic;
  2. using System.Web;
  3. namespace Masuit.Tools.Test.Mvc.Mocks
  4. {
  5. public class MockHttpSession : HttpSessionStateBase
  6. {
  7. private readonly Dictionary<string, object> _sessionStorage = new Dictionary<string, object>();
  8. private string _sessionId = "0000-0000";
  9. public override object this[string name]
  10. {
  11. get
  12. {
  13. _sessionStorage.TryGetValue(name, out var val);
  14. return val;
  15. }
  16. set => _sessionStorage[name] = value;
  17. }
  18. public void SetSessionId(string sessionId)
  19. {
  20. _sessionId = sessionId;
  21. }
  22. public override string SessionID => _sessionId;
  23. public override void Remove(string name)
  24. {
  25. if (_sessionStorage.ContainsKey(name))
  26. {
  27. _sessionStorage.Remove(name);
  28. }
  29. }
  30. }
  31. }