html5中文学习网

您的位置: 首页 > 网络编程 > ASP.NET » 正文

Asp.net ViewState保存在服务器(文件方式)_.NET教程_编程技术

[ ] 已经帮助:人解决问题

asp.net 有一个的问题就是ViewState 太过庞大,会有性能的问题。为了解决方法有:
1、有压缩但是还是有性能问题(毕竟还是会有残留)
2、保存在Session ,Session的大小是有限制的,而且会造成服务器性能低下,而且我发现还有有一些残留
3、保存到数据库,这个本人没有试过,不过应该是可以的,不过不喜欢读写数据库。
 这里我的办法是保存在服务器的文件里面,效果非常好,ViewState一点都没有了。79nHTML5中文学习网 - HTML5先行者学习网

   // 1   重写页面基类中的 PageStatePersister(这个很关键)   public class PageBase : System.Web.UI.Page {// 重写页面基类中的 PageStatePersister(这个很关键)       protected override PageStatePersister PageStatePersister        {            get            {                if (NoViewStateComp)                    return base.PageStatePersister;                return new FilePageStatePersister(Page);            }        }      }//2、在UI的Global.asax中定期删除过期的服务端Viewstate文件夹protected void Application_Start(object sender, EventArgs e)        {                        // 这个在Session 保存在服务器的时候会用到            new FilePageStateManager().TimeDeleteViewStateDir();        } protected void Session_End(object sender, EventArgs e)        {             // 也可以在Session 失效的时候删除,不过本人不推荐如果有后退,或者有人操作页面处理很长时间会有问题        }
79nHTML5中文学习网 - HTML5先行者学习网
79nHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助