加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 会话 – 多个浏览器选项卡 – 不同的会话?

发布时间:2020-12-15 18:32:00 所属栏目:asp.Net 来源:网络整理
导读:我想维护每个浏览器标签的会话状态。 在ASP.NET中这样做很简单(甚至可能)吗? 示例:用户在firefox中点击Ctrl-T 5次,并访问每个选项卡中的网站。我希望每个选项卡在服务器上拥有自己的会话状态 解决方法 为了方便一个用户的多标签会话状态,而不会使URL混乱
我想维护每个浏览器标签的会话状态。

在ASP.NET中这样做很简单(甚至可能)吗?

示例:用户在firefox中点击Ctrl-T 5次,并访问每个选项卡中的网站。我希望每个选项卡在服务器上拥有自己的会话状态

解决方法

为了方便一个用户的多标签会话状态,而不会使URL混乱,请执行以下操作。

在您的表单加载功能中,包括:

If Not IsPostback Then
  'Generate a new PageiD'
  ViewState("_PageID") = (New Random()).Next().ToString()
End If

当您保存某些内容到您的会话状态时,请包括PageID:

Session(ViewState("_PageID").ToString() & "CheckBoxes") = D

笔记:

>与会话ID通常一样,您不能相信恶意的观众不会更改SessionID / PageID。这只是一个可以让所有用户信任的环境的有效解决方案。幸运的是,ViewState确实提供比使用隐藏的输入字段更多的保护。>在PostBack上恢复ViewState之前,您将无法访问PageID。因此,您将无法访问page_init()处理程序中的PageID。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读