예제 #1
0
 public static void TrySaveInViewState <T>(StateBag stateBag, string key, T value)
 {
     if (Equals(value, default(T)))
     {
         stateBag[key] = null;
     }
     else
     {
         stateBag[key] = SPSSerialization.Serialize(value);
     }
 }
예제 #2
0
 public static void TrySaveInSessionState <T>(Page page, StateBag alternate, string key, T value)
 {
     if (page.Session.Mode != SessionStateMode.Off)
     {
         if (Equals(value, default(T)))
         {
             page.Session[key] = null;
         }
         else
         {
             page.Session[key] = SPSSerialization.Serialize(value);
         }
     }
     else
     {
         TrySaveInViewState(alternate, key, value);
     }
 }
예제 #3
0
        public void SerializeDeserialize()
        {
            Dictionary <string, int> beforeDictionary = new Dictionary <string, int>();

            beforeDictionary.Add("Key1", 10);
            beforeDictionary.Add("Key2", 20);

            string serialized = SPSSerialization.Serialize(beforeDictionary);

            Dictionary <string, int> afterDictionary = (Dictionary <string, int>)SPSSerialization.Deserialize(serialized);

            Assert.IsTrue(beforeDictionary.Count == afterDictionary.Count);

            Assert.IsTrue(afterDictionary.ContainsKey("Key1"));
            Assert.IsTrue(afterDictionary.ContainsKey("Key2"));

            Assert.IsTrue(afterDictionary["Key1"] == 10);
            Assert.IsTrue(afterDictionary["Key2"] == 20);
        }