protected override void SavePageStateToPersistenceMedium(object state) { Pair pair; PageStatePersister persister = this.PageStatePersister; object viewState; if (state is Pair) { pair = (Pair)state; persister.ControlState = pair.First; viewState = pair.Second; } else { viewState = state; } LosFormatter formatter = new LosFormatter(); StringWriter writer = new StringWriter(); formatter.Serialize(writer, viewState); string viewStateStr = writer.ToString(); byte[] data = Convert.FromBase64String(viewStateStr); byte[] compressedData = zipHelper.Compress(data); string str = Convert.ToBase64String(compressedData); persister.ViewState = str; persister.Save(); }
private void EnsurePageStatePersister() { if (_pageStatePersister == null) { _pageStatePersister = new HiddenFieldPageStatePersister(this); } }
private void InnerSavePageStateToPersistenceMedium(object state) { ViewStatePersistSettings settings = ViewStatePersistSettings.GetConfig(); if (settings.Enabled) { PageStatePersister persister = settings.Persister; if (state is Pair) { Pair statePair = (Pair)state; persister.ControlState = statePair.First; persister.ViewState = statePair.Second; } else { persister.ViewState = state; } persister.Save(); this.PageStatePersister.ViewState = persister.ViewState; this.PageStatePersister.ControlState = persister.ControlState; this.PageStatePersister.Save(); } else { base.SavePageStateToPersistenceMedium(state); } }
private object InnerLoadPageStateFromPersistenceMedium() { object result = null; ViewStatePersistSettings settings = ViewStatePersistSettings.GetConfig(); try { if (settings.Enabled) { PageStatePersister persister = settings.Persister; this.PageStatePersister.Load(); persister.Load(); result = new Pair(persister.ControlState, persister.ViewState); } else { result = base.LoadPageStateFromPersistenceMedium(); } } catch (System.Web.HttpException) { if (Page.IsCallback == false) { throw; } } return(result); }
public void Control_RestoreChildControlState_EnsureBeforeLoadAllState() { Page_Init_Load_Add_Ensure_SaveAllState("Parent Value", "Child Value", null); PageStatePersister pageStatePersisterBackup = Page.GetPageStatePersister(); TearDownPage(); SetUpPage(); Page.RegisterViewStateHandler(); Page.SetRequestValueCollection(new NameValueCollection()); NamingContainerInvoker.InitRecursive(); Page.SetPageStatePersister(pageStatePersisterBackup); Page.LoadAllState(); NamingContainerInvoker.LoadRecursive(); _lazyContainer.RealControls.Add(_parent); Page.SaveAllState(); pageStatePersisterBackup = Page.GetPageStatePersister(); Assert.That(pageStatePersisterBackup.ControlState is IDictionary, Is.True); IDictionary controlStates = (IDictionary)pageStatePersisterBackup.ControlState; Assert.That(controlStates.Count, Is.EqualTo(1)); Assert.That(controlStates.Contains(_lazyContainer.UniqueID), Is.True); TearDownPage(); SetUpPage(); Page.SetRequestValueCollection(new NameValueCollection()); _lazyContainer.Ensure(); }
public void GetStatePersister() { PageStatePersister persister = mpa.GetStatePersister(); Assert.AreEqual(typeof(HiddenFieldPageStatePersister), persister.GetType(), "GetStatePersister #1"); }
protected override Object LoadPageStateFromPersistenceMedium() { PageStatePersister persister = this.PageStatePersister; persister.Load(); string viewState = persister.ViewState.ToString(); return(new Pair(persister.ControlState, VeiwStateSerialize.Deserialize(viewState))); }
/// <summary> /// 取出ViewState对象 /// </summary> /// <returns></returns> protected override object LoadPageStateFromPersistenceMedium() { PageStatePersister ps = this.PageStatePersister; ps.Load(); if (ps.ControlState != null) { ps.ControlState = DeserializeObj((string)ps.ControlState); } if (ps.ViewState != null) { ps.ViewState = DeserializeObj((string)ps.ViewState); } return(new Pair(ps.ControlState, ps.ViewState)); }
protected override object LoadPageStateFromPersistenceMedium() { PageStatePersister persister = this.PageStatePersister; persister.Load(); string viewState = persister.ViewState.ToString(); byte[] data = Convert.FromBase64String(viewState); byte[] uncompressedData = zipHelper.DeCompress(data); string str = Convert.ToBase64String(uncompressedData); LosFormatter formatter = new LosFormatter(); return(new Pair(persister.ControlState, formatter.Deserialize(str))); }
/// <remarks> Uses <see cref="WxePageInfo.LoadPageStateFromPersistenceMedium"/> to load the viewstate. </remarks> protected override object LoadPageStateFromPersistenceMedium() { object state = _wxePageInfo.LoadPageStateFromPersistenceMedium(); PageStatePersister persister = this.PageStatePersister; if (state is Pair) { Pair pair = (Pair)state; persister.ControlState = pair.First; persister.ViewState = pair.Second; } else { persister.ViewState = state; } return(state); }
protected override void SavePageStateToPersistenceMedium(Object pViewState) { Pair pair; object viewState; PageStatePersister persister = this.PageStatePersister; if (pViewState is Pair) { pair = (Pair)pViewState; persister.ControlState = pair.First; viewState = pair.Second; } else { viewState = pViewState; } persister.ViewState = VeiwStateSerialize.Serialize(viewState); persister.Save(); }
public void Control_BackUpChildControlState() { Page_Init_Load_Add_Ensure_SaveAllState("Parent Value", "Child Value", null); PageStatePersister pageStatePersisterBackup = Page.GetPageStatePersister(); Dictionary <string, object> expectedControlStates = new Dictionary <string, object> (); expectedControlStates[_parent.UniqueID] = _parentInvoker.SaveControlStateInternal(); expectedControlStates[_child.UniqueID] = _childInvoker.SaveControlStateInternal(); TearDownPage(); SetUpPage(); Page.SetRequestValueCollection(new NameValueCollection()); NamingContainerInvoker.InitRecursive(); Page.SetPageStatePersister(pageStatePersisterBackup); Page.LoadAllState(); NamingContainerInvoker.LoadRecursive(); _lazyContainer.RealControls.Add(_parent); object controlState = _lazyContainerInvoker.SaveControlState(); Assert.That(controlState is Triplet, Is.True); Triplet values = (Triplet)controlState; Assert.IsInstanceOf((typeof(HybridDictionary)), values.Third); IDictionary actualControlStates = (IDictionary)values.Third; Assert.That(actualControlStates.Count, Is.EqualTo(2)); foreach (string expectedKey in expectedControlStates.Keys) { Pair expectedValues = (Pair)expectedControlStates[expectedKey]; object actualControlState = actualControlStates[expectedKey]; Assert.That(actualControlState is Pair, Is.True); Pair actualValues = (Pair)actualControlState; Assert.AreEqual(expectedValues.First, actualValues.First, expectedKey); Assert.AreEqual(expectedValues.Second, actualValues.Second, expectedKey); } }
private PageStatePersister GetPersister() { ContentSettings defaultSettings = null; PageStatePersister persister = null; ViewStatePersister ncachePersister; Alachisoft.ContentOptimization.Caching.Expiration expiration; string relativeUrl = Page.AppRelativeVirtualPath.Replace("~/", ""); defaultSettings = GetDefaultSettings(); if (defaultSettings != null) { expiration = defaultSettings.CacheSettings.Expiration.Convert(Alachisoft.ContentOptimization.Caching.ExpirationType.Sliding); ncachePersister = new ViewStatePersister(Page, cache, FileBasedTraceProvider.Current); persister = ncachePersister; } return(persister); }
public void Control_Init_Add_LoadAllState_Ensure() { Page_Init_Load_Add_Ensure_SaveAllState("Parent Value", "Child Value", null); PageStatePersister pageStatePersisterBackup = Page.GetPageStatePersister(); TearDownPage(); SetUpPage(); Page.SetRequestValueCollection(new NameValueCollection()); NamingContainerInvoker.InitRecursive(); Page.SetPageStatePersister(pageStatePersisterBackup); Page.LoadAllState(); _lazyContainer.RealControls.Add(_parent); Assert.That(_parent.ValueInControlState, Is.Null); Assert.That(_child.ValueInControlState, Is.Null); Assert.That(_childSecond.ValueInControlState, Is.Null); _lazyContainer.Ensure(); Assert.That(_parent.ValueInControlState, Is.EqualTo("Parent Value")); Assert.That(_child.ValueInControlState, Is.EqualTo("Child Value")); Assert.That(_childSecond.ValueInControlState, Is.Null); }
/// <summary> /// 存入ViewState对象 /// </summary> /// <param name="state"></param> protected override void SavePageStateToPersistenceMedium(object state) { PageStatePersister ps = this.PageStatePersister; if (state is Pair) { Pair pair = (Pair)state; ps.ControlState = pair.First; ps.ViewState = pair.Second; } else { ps.ViewState = state; } if (ps.ControlState != null) { ps.ControlState = SerializeObj(ps.ControlState); } if (ps.ViewState != null) { ps.ViewState = SerializeObj(ps.ViewState); } ps.Save(); }
public void SetPageStatePersister(PageStatePersister pageStatePersister) { ArgumentUtility.CheckNotNull("pageStatePersister", pageStatePersister); _pageStatePersister = pageStatePersister; }
public ViewStatePageStatePersister(Page page, PageStatePersister innerPageStatePersister) : base(page) { Logger = GlimpseConfiguration.GetLogger(); InnerPageStatePersister = innerPageStatePersister; }