예제 #1
0
 protected override object LoadPageStateFromPersistenceMedium()
 {
     object retVal;
     string id = Request.Form["__VIEWSTATE_UniqueID"];
     byte[] bytes = null;
     _config = (ViewStateConfiguration) ConfigurationManager.GetSection("ViewStateConfiguration");
     this._viewstateStorage = ViewstateStorageFactory.GetStorageMedium();
     bytes = Convert.FromBase64String(this._viewstateStorage.Get(id).Value);
     if (_config.Compression)
         bytes = bytes.Decompress();
     LosFormatter formatter = new LosFormatter();
     retVal = formatter.Deserialize(Convert.ToBase64String(bytes));
     return retVal;
 }
예제 #2
0
 protected override void SavePageStateToPersistenceMedium(object viewState)
 {
     this._viewstateStorage = ViewstateStorageFactory.GetStorageMedium();
     _config = (ViewStateConfiguration) ConfigurationManager.GetSection("ViewStateConfiguration");
     LosFormatter formatter = new LosFormatter();
     StringWriter writer = new StringWriter();
     formatter.Serialize(writer, viewState);
     string viewStateString = writer.ToString();
     byte[] bytes = Convert.FromBase64String(viewStateString);
     if (_config.Compression)
         bytes = bytes.Compress();
     string viewstateBase64 = Convert.ToBase64String(bytes);
     string id = ViewstateStorageFactory.GetUserUniqueID().GetUniqueID();
     this._viewstateStorage.Add(new KeyValuePair<object, string>(id, viewstateBase64));
     ScriptManager.RegisterHiddenField(this, "__VIEWSTATE_UniqueID", id);
 }