用于状态管理的 ViewState、Session、隐藏表单字段和 QueryString ASP.NET
ViewState, Session, Hidden Form Fields, and QueryString for state management ASP.NET
我正在学习 ASP.NET 和 C#,由于阅读 msdn 页面时感到困惑,我有几个问题。
我需要知道如何以及何时使用 ViewState、Session、隐藏表单字段和 QueryString 进行状态管理。
不要使用 QueryStrings 进行会话管理。这是非常危险的,而且真的很容易受到会话劫持。
众所周知,使用 Session[] 有点不安全。只在 Session 中存储不是非常敏感的信息。
查看 FormsAuthentication class (SetAuthCookie) 函数以获得相当简单的东西。
为了更好地实现会话和身份验证,请查看 ASP 成员资格 here。
视图状态:
如果您只希望对象在当前页面的生命周期内存在,ViewState 是完美的。
会话状态:
对于需要在跨多个页面的用户整个会话期间持续存在的数据,您应该使用会话状态
隐藏表单域:
当您的视图状态禁用时,隐藏字段可用于存储需要在多个 post 后台持久保存的数据。
与javascript一起使用(因为它是纯文本)
查询字符串:
页面间传值,不保密
更多信息:
https://msdn.microsoft.com/en-us/library/z1hkazw7(v=vs.140).aspx
http://www.codeproject.com/Articles/331962/A-Beginner-s-Tutorial-on-ASP-NET-State-Management
我正在学习 ASP.NET 和 C#,由于阅读 msdn 页面时感到困惑,我有几个问题。
我需要知道如何以及何时使用 ViewState、Session、隐藏表单字段和 QueryString 进行状态管理。
不要使用 QueryStrings 进行会话管理。这是非常危险的,而且真的很容易受到会话劫持。
众所周知,使用 Session[] 有点不安全。只在 Session 中存储不是非常敏感的信息。
查看 FormsAuthentication class (SetAuthCookie) 函数以获得相当简单的东西。
为了更好地实现会话和身份验证,请查看 ASP 成员资格 here。
视图状态:
如果您只希望对象在当前页面的生命周期内存在,ViewState 是完美的。
会话状态:
对于需要在跨多个页面的用户整个会话期间持续存在的数据,您应该使用会话状态
隐藏表单域:
当您的视图状态禁用时,隐藏字段可用于存储需要在多个 post 后台持久保存的数据。
与javascript一起使用(因为它是纯文本)
查询字符串:
页面间传值,不保密
更多信息:
https://msdn.microsoft.com/en-us/library/z1hkazw7(v=vs.140).aspx
http://www.codeproject.com/Articles/331962/A-Beginner-s-Tutorial-on-ASP-NET-State-Management