static void Main(string[] args) { // determine root folder for saving session data var path = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "SessionState"); var sessionStateSerializer = new SessionStateProtector(new BinarySessionStateSerializer()); var sessionStorage = new FileSessionStorage(new SystemDirectory(), new SystemFile(), sessionStateSerializer, path); // create Session for generating correct session key var sessionMananager = new SessionManager(sessionStorage, new SystemProcessIdProvider()); // create state manager var stateManager = new StateManager(sessionMananager); if (args.Length == 2) { // read a value from state var scope = Enum.Parse <StateScope>(args[0]); Console.WriteLine($"Value for {args[1]} : {stateManager.GetValue<string>(scope, args[1], "")}"); } else if (args.Length == 3) { // set a value to state var scope = Enum.Parse <StateScope>(args[0]); stateManager.SetValue(scope, args[1], args[2]); stateManager.Save(); Console.WriteLine($"Setting value for {args[1]} to {args[2]}"); } }
public void SSP001() { // arrange var sessionState = new Dictionary <string, object>() { { "one", 1 } }; var sessionSerializer = new BinarySessionStateSerializer(); var sessionStateProtector = new SessionStateProtector(sessionSerializer); var protectedSessionState = sessionStateProtector.Serialize(sessionState); Action action = () => sessionSerializer.Deserialize(protectedSessionState); // act, assert action.Should().Throw <System.Runtime.Serialization.SerializationException>(); }
public void SSP002() { // arrange var sessionState = new Dictionary <string, object>() { { "one", 1 } }; var sessionSerializer = new BinarySessionStateSerializer(); var sessionStateProtector = new SessionStateProtector(sessionSerializer); var protectedSessionState = sessionStateProtector.Serialize(sessionState); // act var deserializedSessionState = sessionStateProtector.Deserialize(protectedSessionState); // assert var expectedSessionState = new Dictionary <string, object>() { { "one", 1 } }; deserializedSessionState.Should().BeEquivalentTo(expectedSessionState); }