【发布时间】:2011-03-21 00:01:36
【问题描述】:
可以这样说
“如果您遇到这些情况,那么 SessionState 是在回发之间存储您的值的必备工具。”
您能否列出迫使 asp.net 开发人员从 ViewState 或 HiddenFields 或查询字符串切换 SessionState 的基本原因?
谢谢
【问题讨论】:
标签: .net asp.net viewstate session-state hiddenfield
可以这样说
“如果您遇到这些情况,那么 SessionState 是在回发之间存储您的值的必备工具。”
您能否列出迫使 asp.net 开发人员从 ViewState 或 HiddenFields 或查询字符串切换 SessionState 的基本原因?
谢谢
【问题讨论】:
标签: .net asp.net viewstate session-state hiddenfield
只要您想保留信息,就会使用会话状态
服务器部分是出于安全原因。您不希望在视图状态、隐藏字段或查询字符串中传递对浏览器很安全的信息。这 3 个很容易阅读。
同时确保不要在会话状态中放置太多信息,或者当您这样做时重新考虑使用进程外方法,例如使用状态管理器或 sql server。
【讨论】:
有时它会节省一些精力 你有一个特定于用户的对象 将在用户时按原样旅行 导航超过两个页面。
当用户数据敏感时,您 不能使用客户端技术来保存 它,如果你加密它,你会 通过以下方式解决性能问题 加密和解密数据 每次你工作时,尤其是在 大型系统当aspx页面有 数千行代码( 性能差到可以打)
【讨论】:
添加到已经收到的答案:
【讨论】:
如果您有一个用户独有的数据,获取/创建相对昂贵但不需要太多内存来存储,那么您就有一个很好的候选人。
一个示例是从昂贵的数据库查询中获取的数据或从远程 Web 服务中检索的数据。
ViewState、隐藏字段和查询字符串应该用于少量不敏感的数据。
允许用户通过查询字符串输入数据可能特别有用,因为用户可以制作包含这些数据的书签。
【讨论】: