zoukankan      html  css  js  c++  java
  • 【转】去除.Net页面中的ViewState乱码

    C# code
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    //添加引用
    using System.IO;
    using System.Threading;
    namespace CCL
    {
        /// <summary>
        /// BasePage 的摘要说明
        /// </summary>
        public class BasePage : System.Web.UI.Page
        {
            #region 解决ViewState过于庞大的问题
            //由于这里添加了目录,所以要建立App_Data/ViewState目录.
            protected override object LoadPageStateFromPersistenceMedium()
            {
                string viewStateID = (string)((Pair)base.LoadPageStateFromPersistenceMedium()).Second;
                string stateStr = (string)Cache[viewStateID];
                if (stateStr == null)
                {
                    string fn = Path.Combine(this.Request.PhysicalApplicationPath, @"App_Data/ViewState/" + viewStateID);
                    stateStr = File.ReadAllText(fn);
                }
                return new ObjectStateFormatter().Deserialize(stateStr);
            }

            protected override void SavePageStateToPersistenceMedium(object state)
            {
                string value = new ObjectStateFormatter().Serialize(state);
                string viewStateID = (DateTime.Now.Ticks + (long)this.GetHashCode()).ToString(); //产生离散的id号码
                string fn = Path.Combine(this.Request.PhysicalApplicationPath, @"App_Data/ViewState/" + viewStateID);
                //ThreadPool.QueueUserWorkItem(File.WriteAllText(fn, value));
                File.WriteAllText(fn, value);
                Cache.Insert(viewStateID, value);
                base.SavePageStateToPersistenceMedium(viewStateID);
            }
            #endregion
        }
    }

  • 相关阅读:
    MySQL Error--存储inode用完后报设备没有空间
    MySQL Binlog--基于ROW模式的binlog event大小限制
    MySQL Transaction--网络丢包导致长时间未提交事务
    java核心技术第四篇之JDBC第二篇
    java核心技术第三篇之JDBC第一篇
    java核心技术第二篇之数据库SQL语法
    JVM垃圾回收器原理及使用介绍
    JVM中优化指南
    MySQL常用工具、日志及读写分离
    java基础第十九篇之Xml
  • 原文地址:https://www.cnblogs.com/ae6623/p/4416774.html
Copyright © 2011-2022 走看看