首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 数据库 第二书店 程序员

如果你必须开发交互式页面,ViewState越大可能意味着越有本事


protected override object LoadPageStateFromPersistenceMedium()
{
var viewStateID = (string)((Pair)base.LoadPageStateFromPersistenceMedium()).Second;
var stateObject = Cache[viewStateID];
if (stateObject != null)
return stateObject;

var fn = this.Server.MapPath("~/App_Data/ViewState/" viewStateID);
var stateStr = File.ReadAllText(fn);
return new ObjectStateFormatter().Deserialize(stateStr);
}

protected override void SavePageStateToPersistenceMedium(object state)
{
var viewStateID = (DateTime.Now.Ticks this.GetHashCode()).ToString(); //产生离散的id号码
Cache.Insert(viewStateID, state);
ThreadPool.QueueUserWorkItem(obj =>
{
var value = new ObjectStateFormatter().Serialize(state);
var fn = this.Server.MapPath("~/App_Data/ViewState/" viewStateID);
File.WriteAllText(fn, value);
});
base.SavePageStateToPersistenceMedium(viewStateID);
}



他们设置了哪些标签:


.net应用 asp.net asp.net(viewstate) C# VIEWSTATE ViewState缓存 ViewState越大可能意味着越有本事 vs Web WEB开发 保存状态信息 不同使用 经典 如果你必须开发交互式页面

谁收藏了这个网址:


Ts23收录

时间:2008-5-30 23:31:09 | 相关网摘

wangkun9999收录

时间:2008-5-31 9:06:45 | 相关网摘

页面上很多东西自动地响应用户操作而展现丰富的变化,你的ViewState是很有可能达到200K的。

这里是我将ViewState持久化保持在服务器端的代码,这样ViewState不占用网络带宽,因此其存取只是服务器的磁盘读取时间。并且它很小,可以说是磁盘随便转一圈就能同时读取好多ViewState

ysn1314收录

时间:2008-5-31 9:25:45 | 相关网摘

wangjun8868收录

使用标签:asp.net,时间:2008-5-31 9:39:10 | 相关网摘

netgyc收录

时间:2008-5-31 10:25:50 | 相关网摘

lian_yi收录

时间:2008-5-31 15:43:57 | 相关网摘

only_endure收录

使用标签:.net应用,时间:2008-6-1 9:57:41 | 相关网摘

shadowjl收录

时间:2008-6-1 16:14:17 | 相关网摘

wuyi8808收录

使用标签:web,时间:2008-6-1 16:22:26 | 相关网摘

belldandy11收录

使用标签:ViewState缓存,时间:2008-6-2 9:09:30 | 相关网摘

cm8983收录

时间:2008-6-2 12:15:45 | 相关网摘

loveangela收录

时间:2008-6-2 16:43:47 | 相关网摘

lwslws收录

时间:2008-6-2 18:47:42 | 相关网摘

如果你有一个非常酷的页面,页面上很多东西自动地响应用户操作而展现丰富的变化,你的ViewState是很有可能达到200K的。

这里是我将ViewState持久化保持在服务器端的代码,这样ViewState不占用网络带宽,因此其存取只是服务器的磁盘读取时间。并且它很小,可以说是磁盘随便转一圈就能同时读取好多ViewState,因此可以说“不占时间”。为了再“不占磁盘时间”,我还使用了缓存。


一下这段代码可以放在页面中,或者页面的父类中:

kofkyo收录

使用标签:viewstate,时间:2008-6-3 10:19:51 | 相关网摘

viewstate扩展

nancun收录

时间:2008-6-3 10:35:14 | 相关网摘

stning收录

时间:2008-6-3 14:37:13 | 相关网摘

chenbin6562收录

时间:2008-6-3 14:41:58 | 相关网摘

pwdanduid收录

使用标签:viewstate,时间:2008-6-3 15:07:11 | 相关网摘

viena收录

时间:2008-6-3 15:09:38 | 相关网摘

woyaojuzi收录

使用标签:如果你必须开发交互式页面, ViewState越大可能意味着越有本事,时间:2008-6-3 15:24:07 | 相关网摘

如果你必须开发交互式页面,ViewState越大可能意味着越有本事

momoco4收录

时间:2008-6-3 15:49:24 | 相关网摘

slight43收录

时间:2008-6-3 16:06:27 | 相关网摘

wzx516收录

时间:2008-6-3 16:11:44 | 相关网摘

wudi626收录

时间:2008-6-3 16:35:47 | 相关网摘

Night_Elf收录

时间:2008-6-3 16:45:03 | 相关网摘

bingg收录

时间:2008-6-3 17:14:21 | 相关网摘

不错

andyhooo收录

时间:2008-6-3 17:19:54 | 相关网摘


修改 删除 举报 引用 回复

加为好友
发送私信
在线聊天
46539492
男儿当自强(http://blog.csdn.net/46539492/)
等级:
发表于:2008-05-31 13:51:1550楼 得分:0
楼主的代码我在asp.net2.0里测试了,修正的代码如下:
==================================================

C# code
#region 解决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 SavePageStateToPersisten

ojekleen收录

时间:2008-6-3 17:27:07 | 相关网摘

sworddx收录

时间:2008-6-3 17:29:53 | 相关网摘

kittyjinhui收录

使用标签:asp.net, ViewState,时间:2008-6-3 18:03:39 | 相关网摘

页面状态的保持

yangdj2000收录

时间:2008-6-3 18:18:12 | 相关网摘

ws_hgo收录

使用标签:asp.net(viewstate),时间:2008-6-3 18:36:01 | 相关网摘

jinjazz收录

时间:2008-6-3 18:40:31 | 相关网摘

zj1111184556收录

时间:2008-6-3 20:45:56 | 相关网摘

kawensong收录

时间:2008-6-3 22:36:39 | 相关网摘

kukou收录

时间:2008-6-3 22:41:46 | 相关网摘

jk21com收录

时间:2008-6-3 23:01:53 | 相关网摘

Request.PhysicalApplicationPath, @

SSXYC收录

时间:2008-6-4 0:29:29 | 相关网摘

nbjed收录

时间:2008-6-4 8:36:33 | 相关网摘

protected override object LoadPageStateFromPersistenceMedium()
{
var viewStateID = (string)((Pair)base.LoadPageStateFromPersistenceMedium()).Second;
var stateObject = Cache[viewStateID];
if (stateObject != null)
return stateObject;

var fn = this.Server.MapPath("~/App_Data/ViewState/" viewStateID);
var stateStr = File.ReadAllText(fn);
return new ObjectStateFormatter().Deserialize(stateStr);
}

protected override void SavePageStateToPersistenceMedium(object state)
{
var viewStateID = (DateTime.Now.Ticks this.GetHashCode()).ToString(); //产生离散的id号码
Cache.Insert(viewStateID, state);
ThreadPool.QueueUserWorkItem(obj =>
{
var value = new ObjectStateFormatter().Serialize(state);
var fn = this.Server.MapPath("~/App_Data/ViewState/" viewStateID);
File.WriteAllText(fn, value);
});
base.SavePageStateToPersistenceMedium(viewStateID);
}

ldarmy收录

时间:2008-6-4 11:35:29 | 相关网摘

t(fn, value));

这一句也不是很必要。写为:

File.WriteAllText(fn, value));

就可以了。当时也是为了玩玩,今天才又想起来还有这个没改。

dengyi425收录

时间:2008-6-4 11:38:50 | 相关网摘

largedatabase收录

时间:2008-6-4 12:39:16 | 相关网摘

swort_177收录

时间:2008-6-4 13:03:33 | 相关网摘

了影响通信量,尤其是当数据很大时候,不知道我

wdzr_826收录

时间:2008-6-4 14:41:21 | 相关网摘

摘要

lovehongyun收录

时间:2008-6-4 15:44:49 | 相关网摘

jyc1204收录

时间:2008-6-4 16:20:02 | 相关网摘

在服务器端的代码,这样ViewState不占用网络带宽,因此其存取只是服务器的磁盘读取时间。并且它很小,可以说是磁盘随便转一圈就能同时读取好多ViewState,因此可以说“不占时间”。为了再“不占磁盘时间”,我还使用了缓存。

QQQQAnnie收录

时间:2008-6-4 17:14:30 | 相关网摘

没有问题,散分贴:如果你必须开发交互式页面,ViewState越大可能意味着越有本事

yanghaoaa收录

时间:2008-6-4 17:33:33 | 相关网摘

ViewState

zwb521收录

使用标签:经典,时间:2008-6-4 21:15:02 | 相关网摘

kong521收录

使用标签:vs,时间:2008-6-4 22:38:29 | 相关网摘

fan13256收录

时间:2008-6-5 0:17:10 | 相关网摘

JGood收录

时间:2008-6-5 0:48:52 | 相关网摘

因此可以说“不占

DMPX收录

时间:2008-6-5 9:48:41 | 相关网摘

dsclub收录

时间:2008-6-5 10:39:27 | 相关网摘

mike1lainet收录

时间:2008-6-5 11:32:19 | 相关网摘

XIEWH收录

时间:2008-6-5 11:33:05 | 相关网摘

fifastar收录

时间:2008-6-5 12:26:44 | 相关网摘

tcgdy0201收录

时间:2008-6-5 13:08:34 | 相关网摘

banditi225收录

时间:2008-6-5 13:19:12 | 相关网摘

junge847收录

使用标签:C#,时间:2008-6-5 14:01:43 | 相关网摘

baihe_591收录

时间:2008-6-5 14:11:25 | 相关网摘

philoo收录

时间:2008-6-5 14:15:14 | 相关网摘

能适合一些小型应用

zhbr收录

时间:2008-6-5 14:18:50 | 相关网摘

wubaojie收录

时间:2008-6-5 15:01:08 | 相关网摘

Janyue收录

时间:2008-6-5 15:31:27 | 相关网摘

wf5360308收录

时间:2008-6-5 16:30:30 | 相关网摘

http://www.codeplex.com/DotNetPageEx

person_lang收录

时间:2008-6-5 19:28:58 | 相关网摘

zdp303收录

时间:2008-6-5 23:00:11 | 相关网摘

effun收录

时间:2008-6-5 23:05:42 | 相关网摘

qiuyy1984收录

时间:2008-6-5 23:16:32 | 相关网摘

skyaspnet收录

时间:2008-6-5 23:46:01 | 相关网摘

wangzhe1945收录

时间:2008-6-6 9:56:12 | 相关网摘

yhxy6767收录

使用标签:WEB开发,时间:2008-6-6 15:27:23 | 相关网摘

mylibin收录

时间:2008-6-6 23:42:21 | 相关网摘

Rocky91888收录

时间:2008-6-7 8:18:28 | 相关网摘

la5465收录

时间:2008-6-8 20:11:14 | 相关网摘

dlwr收录

时间:2008-6-8 21:56:02 | 相关网摘

fj_2008收录

使用标签:ViewState,时间:2008-6-10 11:15:34 | 相关网摘

ViewState

cxr5201314收录

时间:2008-6-10 12:59:40 | 相关网摘

cl9876收录

时间:2008-6-10 13:39:55 | 相关网摘

ViewState

NekChan收录

时间:2008-6-10 14:46:15 | 相关网摘

Nesta_13收录

使用标签:ViewState,时间:2008-6-10 16:51:58 | 相关网摘

sjt000收录

时间:2008-6-10 16:58:05 | 相关网摘

lihanqin收录

时间:2008-6-10 18:19:57 | 相关网摘

ViewState越大可能意味着越有本事

ytbbl收录

使用标签:ViewState,时间:2008-6-11 16:44:41 | 相关网摘

lizh0103收录

时间:2008-6-12 14:25:36 | 相关网摘

bwangel收录

时间:2008-6-16 9:51:47 | 相关网摘

lfywy收录

时间:2008-6-19 8:15:23 | 相关网摘

lanlan520收录

时间:2008-6-26 8:25:41 | 相关网摘

ltb55232133收录

时间:2008-6-26 13:26:56 | 相关网摘

ViewState越大可能意味着越有本事

jyy633收录

时间:2008-6-28 11:44:31 | 相关网摘

没有问题,散分贴:如果你必须开发交互式页面,ViewState越大可能意味着越有本事

qq634506153收录

时间:2008-7-2 11:18:07 | 相关网摘

zsj830120收录

时间:2008-7-4 8:46:37 | 相关网摘

longSmile收录

时间:2008-7-4 23:27:49 | 相关网摘

ChaoYang0502收录

使用标签:ViewState, 保存状态信息,时间:2008-7-12 10:38:29 | 相关网摘

ViewState

cui55收录

时间:2008-7-14 11:21:59 | 相关网摘

我们使用服务器端磁盘读的时间来节省服务器通过http从浏览器端读ViewState时间,其结论跟我这个题目要说明的也是一样的。

freeflying1222收录

时间:2008-7-17 22:30:15 | 相关网摘

guohua2208收录

时间:2008-7-23 13:05:13 | 相关网摘

sy_binbin收录

时间:2008-7-24 9:32:58 | 相关网摘

Justin1818收录

时间:2008-7-25 0:11:07 | 相关网摘


网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
Copyright © 2000-2008, CSDN.NET, All Rights Reserved