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; }
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); }