在一个ASP.NET应用程序中,我们提供了打开另一个应用程序的链接 . 如果用户单击该超链接,则另一个应用程序将在新窗口中打开 . 问题是应用程序都使用相同的会话 . 有没有办法更改新窗口的会话ID?
我已经尝试在页面加载中放弃会话和清除sessionID cookie . 但它正在创建新的会话ID,并且两个窗口再次访问新的会话ID . 我想为两个窗口分别设置会话ID .
有没有办法做到这一点?
当您使用Session时,我认为没有一种好方法可以做到这一点 . 您可能想要考虑使用Viewstate而不是session来处理您不希望在两个窗口之间共享的数据 .
您可以根据您正在处理的应用程序动态创建会话ID . 当您打开另一个应用程序时,您可以使用唯一ID为第二个应用程序创建新会话 .
相同的问题只是使用浏览器标签 . 同样的答案对你有用
asp.net - session - multiple browser tabs - different sessions?
使用sessionID . 并将其置于视图状态 . 将sessionid从视图状态与会话中的会话ID进行比较 . 如果它们不同,则它会在新窗口中创建一个新会话,并记住在视图状态中提升新ID
4 回答
当您使用Session时,我认为没有一种好方法可以做到这一点 . 您可能想要考虑使用Viewstate而不是session来处理您不希望在两个窗口之间共享的数据 .
您可以根据您正在处理的应用程序动态创建会话ID . 当您打开另一个应用程序时,您可以使用唯一ID为第二个应用程序创建新会话 .
相同的问题只是使用浏览器标签 . 同样的答案对你有用
asp.net - session - multiple browser tabs - different sessions?
使用sessionID . 并将其置于视图状态 . 将sessionid从视图状态与会话中的会话ID进行比较 . 如果它们不同,则它会在新窗口中创建一个新会话,并记住在视图状态中提升新ID