我接管了一个ASP.NET网络表单应用程序的开发,该应用程序100%设计用于移动设备。目前,该应用程序非常大量地使用会话变量。该模式是默认的。
<sessionState timeout="600"></sessionState>
应用程序出现问题并不会让您大吃一惊,其中很多问题都与会话数据丢失或整个会话丢失有关。
概述该应用程序的一些概述:
我向管理层提出的关于如何使这个应用程序更好的建议之一就是停止使用Session变量并改用其他东西。我认为切换到cookie来存储所有这些数据是一种更好的方法来处理这个问题。我知道有些用户可能会禁用cookie(即使在他们的移动设备上),但如果是这种情况,我们可以告诉他们要使用该网站,他们需要重新开启cookie。
我考虑过使用查询字符串,但只是从编程角度来看(构建链接等),查询字符串很难处理。
在阅读这篇关于持久保存国家数据的各种方法的文章以及他们的每个专业人士和骗子的文章后,我得出了这样的结论:
https://msdn.microsoft.com/en-us/library/z1hkazw7.aspx
我的问题是:饼干是最好的选择吗?
答案 0 :(得分:0)
如果您有很多变数,Cookie的大小有限,并不是最佳选择。人们也不喜欢饼干,因此可能会限制它们。
ViewState是存储数据的好地方。这是从您的Web表单作为回发发送的,可用于存储合理数量的数据。例如,如果您的应用程序使用多个页面来完成一个过程(例如订购某些内容),那么您可以在ViewState中保留数据,这将在页面回发后显示。
以正确的方式使用,ViewState非常有效。