返回首页

简介
ViewSate的缺点之一是它增加了额外的千字节的有效载荷数据。为了克服这一缺点,它可以被保存在服务器上。战略
有三个选项,在服务器上保存的ViewState。MS SQL Server的文件系统内存
使用的MS SQL Server是昂贵的。如果你没有的MS SQL Server,你必须付出额外的钱,它的速度是最低的。使用的内存是太昂贵。因为内存是一种稀缺资源。所以,我选择了保存在文件系统上的ViewSate。使用代码
。NET中使用SavePageStateToPersistenceMedium方法,保存的ViewSate和LoadPageStateFromPersistenceMedium方法来加载ViewSate。我将覆盖这些功能,保存和使用的文件系统加载ViewSate。
GenerateFileName()生成并注册一个文件的名称,使用会话ID和一个GUID。 ViewState是保存在这个文件中中。 GetFileName()返回此已注册的文件名称。性能保存页面上的ViewState

回答

评论会员:hAshishNangla 时间:2011/12/15
我使用的是ASP.NET 2.0的PageStatePersister类类似的解决方案,但是我使用一个GUID键是发送的ViewState,使我们可以在多个窗口中的其他冲突的情况下工作。下面是它的文章...


评论会员:SandeepMewara 时间:2011/12/15
尼斯之一... {S0}
评论会员:IrfanRaza 时间:2011/12/15
您好,
问候你的工作,它的一个很好的和有用的文章。
我有这个问题。我的网站是使用母版页和所有页面都从这个MasterPage的派生。当我尝试从System.Web.UI.MasterPage继承BasePage产生一个错误,SavePageStateToPersistenceMedium()和LoadPageStateFromPersistenceMedium()方法是不确定的

你能否解决这个问题,或者给我一些提示,以解决这个问题。,

关于
穆罕默德伊尔凡
评论会员:Lidya_USQ 时间:2011/12/15
只是想说,这篇文章是辉煌的! {S1}

感谢分享

- 利迪亚
评论会员:wissam1 时间:2011/12/15
问候,
谢谢你有用的文章,它工作正常。

但有一个问题,Session_End事件将不会触发删除目录时,会议时间虽然我的地方:



在web.config文件中
我把超时仅用于测试1分钟。
您的帮助表示高度赞赏。
关于
评论会员:TomP69 时间:2011/12/15
节能视图状态在Web场中的文件系统的工作?或将我放入数据库?
评论会员:ibrahimuludag 时间:2011/12/15
Web场工程。您需要ViewState的文件夹的写权限。您可以更改web.config中的价值。

易卜拉欣乌鲁达
软件开发
ibrahimuludag@gmail.com
http://ibrahimuludag.blogspot.com/
http://www.ibrahimuludag.com/
评论会员:V安德烈路易斯桑切斯 时间:2011/12/15
我在过去类似的东西。
这段代码的问题是,用户不能在同一个会话中打开两个浏览器窗口,要在同一页。
您可以解决这个问题的工作,产生一个随机数(GUID应做的),并用它来生成会话ID和URL的文件名,然后你还必须在URL参数的数量(如page.aspx?SGUID = ),所以它知道哪个文件来恢复视图状态在回传。
评论会员:布拉德VIN 时间:2011/12/15
我不喜欢,包括URL中的GUID的想法,检查出一个非常好的解决方案这篇文章:

 0;
评论会员:merlin981 时间:2011/12/15
商定,在URL中的GUID可能是不好的。如果用户更改URL中的GUID?如果用户删除查询字符串GUID只是为了看看会发生什么? Justin的文章(见上文),有一个优雅的解决方案,这个问题(和其他较小的问题)。

〜〜〜
{A3}

{A4}

〜〜〜
评论会员:shlomiw 时间:2011/12/15
!感谢该文章reffer - 是非常有益的

评论会员:ibrahimuludag 时间:2011/12/15
感谢您的评论。我没有读过那篇文章。我已经修改了我的代码,使用隐藏字段中的GUID。
易卜拉欣乌鲁达
软件开发
ibrahimuludag@gmail.com
http://ibrahimuludag.blogspot.com/
http://www.ibrahimuludag.com/
评论会员:V安德烈路易斯桑切斯 时间:2011/12/15
辉煌的文章,它保存在一个隐藏的标签是肯定比更好地暴露在querystring中的GUID。