Beispiel #1
0
    private void forward(Type stateType, ViewStateInfo.EMode mode)
    {
        var stateInfo = new ViewStateInfo(stateType, mode);

        if (mode == ViewStateInfo.EMode.Stack)
        {
            if (stateInfoStack.Count > 0)
            {
                stateInfoStack[stateInfoStack.Count - 1].DestroyInstance();
            }
            stateInfoStack.Add(stateInfo);
        }
        else if (mode == ViewStateInfo.EMode.Layer)
        {
            stateInfoStack.Add(stateInfo);
        }
        else if (mode == ViewStateInfo.EMode.Override)
        {
            var replaceMode = ViewStateInfo.EMode.Layer;
            if (stateInfoStack.Count > 0)
            {
                replaceMode = stateInfoStack[stateInfoStack.Count - 1].Mode;
                stateInfoStack[stateInfoStack.Count - 1].DestroyInstance();
                stateInfoStack.RemoveAt(stateInfoStack.Count - 1);
            }
            stateInfo.Mode = replaceMode;
            stateInfoStack.Add(stateInfo);
        }

        ViewPipelineDebugger.Instance.Refresh();
    }
Beispiel #2
0
    private void forward(Type stateType, ViewStateInfo.EMode mode)
    {
        var stateInfo = new ViewStateInfo(stateType, mode);
        if (mode == ViewStateInfo.EMode.Stack)
        {
            if (stateInfoStack.Count > 0)
            {
                stateInfoStack[stateInfoStack.Count-1].DestroyInstance();
            }
            stateInfoStack.Add(stateInfo);
        }
        else if (mode == ViewStateInfo.EMode.Layer)
        {
            stateInfoStack.Add(stateInfo);
        }
        else if (mode == ViewStateInfo.EMode.Override)
        {
            var replaceMode = ViewStateInfo.EMode.Layer;
            if (stateInfoStack.Count > 0 )
            {
                replaceMode = stateInfoStack[stateInfoStack.Count - 1].Mode;
                stateInfoStack[stateInfoStack.Count - 1].DestroyInstance();
                stateInfoStack.RemoveAt(stateInfoStack.Count - 1);
            }
            stateInfo.Mode = replaceMode;
            stateInfoStack.Add(stateInfo);
        }

        ViewPipelineDebugger.Instance.Refresh();
    }
        //
        // Summary:
        //     Deserializes and loads persisted state from the repository when
        //     a System.Web.UI.Page object initializes its control hierarchy.
        //
        // Exceptions:
        //   T:System.Web.HttpException:
        //     The System.Web.UI.SessionPageStatePersister.Load method could not successfully
        //     deserialize the state contained in the request to the Web server.
        public override void Load()
        {
            string viewStateKey;

            if (UseDefaultViewStateHiddenField)
            {
                // Get key from __VIEWSTATE hidden field
                HiddenFieldPageStatePersister _hiddenFiledPagePersister = new HiddenFieldPageStatePersister(Page);
                _hiddenFiledPagePersister.Load();
                viewStateKey = _hiddenFiledPagePersister.ViewState as string;
            }
            else
            {
                // Get key from custom hidden field
                //string viewStateKey = Page.Request.Params[ViewStateHiddenFieldName] as string;
                viewStateKey = Page.Request.Form[ViewStateHiddenFieldName] as string;
            }

            if (!string.IsNullOrEmpty(viewStateKey))
            {
                ViewStateInfo info = (ViewStateInfo)Repository.GetViewState(viewStateKey);

                IStateFormatter formatter = this.StateFormatter;
                Pair            statePair = (Pair)formatter.Deserialize((string)info.Value);

                ViewState    = statePair.First;
                ControlState = statePair.Second;

                // Remove from repository after serve
            }
        }
        public string SaveViewState(ViewStateInfo info)
        {
            string path = BasePath + Path.DirectorySeparatorChar + info.Id + ".dat";

            using (FileStream stream = new FileStream(path, FileMode.Create, FileAccess.Write))
                using (StreamWriter writer = new StreamWriter(stream))
                {
                    writer.Write(info.Value);
                    writer.Close();
                    stream.Close();
                }
            return(info.Id);
        }
Beispiel #5
0
    private void createNode(ViewStateInfo viewStateInfo, int layer, int stack)
    {
        GameObject node = GameObject.Instantiate(Resources.Load<GameObject>("Node")) as GameObject;
        if (viewStateInfo.Instance != null)
        {
            node.GetComponent<Image>().material = Resources.Load<Material>("matNode");
        }
        else
        {
            node.GetComponent<Image>().material = Resources.Load<Material>("matNodeGray");
        }

        node.GetComponentInChildren<Text>().text = viewStateInfo.Type.Name;
        node.transform.SetParent(Root);
        node.transform.position = new Vector3(10 + layer * 90, 28 * stack);
    }
        public ViewStateInfo GetViewState(string id)
        {
            ViewStateInfo info;
            string        path = BasePath + Path.DirectorySeparatorChar + id + ".dat";

            using (FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read))
                using (StreamReader reader = new StreamReader(stream))
                {
                    info = new ViewStateInfo(reader.ReadToEnd())
                    {
                        Id            = id,
                        CreateTime    = DateTimeOffset.Now,
                        LastVisitTime = DateTimeOffset.Now,
                    };
                    reader.Close();
                    stream.Close();
                }
            return(info);
        }
        //
        // Summary:
        //     Serializes any object state contained in the System.Web.UI.PageStatePersister.ViewState
        //     or the System.Web.UI.PageStatePersister.ControlState property and writes the
        //     state to the repository.
        public override void Save()
        {
            if (base.ViewState == null && base.ControlState == null)
            {
                return;
            }

            IStateFormatter formatter = this.StateFormatter;
            Pair            statePair = new Pair(ViewState, ControlState);

            // Serialize the statePair object to a string.
            string serializedState = formatter.Serialize(statePair);

            ViewStateInfo info = new ViewStateInfo(serializedState);

            string viewStateKey = Page.Request.Form[ViewStateHiddenFieldName] as string;

            if (!string.IsNullOrEmpty(viewStateKey))
            {
                info.Id = viewStateKey;
            }

            Repository.SaveViewState(info);

            if (UseDefaultViewStateHiddenField)
            {
                // Save key in __VIEWSTATE hidden field
                HiddenFieldPageStatePersister _hiddenFiledPagePersister = new HiddenFieldPageStatePersister(Page);
                _hiddenFiledPagePersister.ViewState = info.Id;
                _hiddenFiledPagePersister.Save();
            }
            else
            {
                // Register hidden field to store cache key in
                Page.ClientScript.RegisterHiddenField(ViewStateHiddenFieldName, info.Id);
            }
        }
Beispiel #8
0
 public string SaveViewState(ViewStateInfo info)
 {
     throw new NotImplementedException();
 }
 public string SaveViewState(ViewStateInfo info)
 {
     Cache.Set(info.Id, info, null);
     return(info.Id);
 }