所以我尽最大努力最小化我在ASP.net ajax应用程序上的viewstate,http压缩,在隐藏字段中禁用viewstate,但是想要更进一步。所以在研究之后似乎有两种方法
a)使用ASP.net 1.x方式,它使用LoadPageStateFromPersistenceMedium
b)或使用ASP.net 2.x方式SessionPageStatePersister
所以B看起来并不好看,因为如果我理解正确,那么viewstate会链接到会话ID,因为我的会话可能会因为我想要的任何原因而过期。
那么在依赖于会话的服务器上保存viewstate的最佳方法是什么?
如果它是LoadPageStateFromPersistenceMedium并使用隐藏字段,那么如何将带有随机ID的隐藏字段注入页面?
如何确定清除服务器上的视图状态文件的时间?
答案 0 :(得分:0)
我认为你应该认真考虑Session选项。它在资源上是最优的,即使会话到期,如果您的Auth机制与会话超时相对应,也不是问题。
作为后备,您可以实现一个Page Base,将会话ID放入ViewState,在回发时检查它,是否与要恢复的某些操作不同。
您唯一的另一个选择是创建自己的使用数据库或其他数据存储的PageAdapter。
答案 1 :(得分:0)
尝试Flesk ViewState Optimizer怎么样?
有几个选项,包括存储在会话中,数据库中等等。