【问题标题】:ASP.net session issue with localhost本地主机的 ASP.net 会话问题
【发布时间】:2011-05-06 13:27:37
【问题描述】:
我对会话有疑问。我的网站正在实现一个登录用户控制台,每次登录时都会注册一个新用户。如果我尝试在同一个网络浏览器中打开 2 个页面,它会失败,因为该方法首先询问用户是否已经连接到未注册两次。
该方法以.net提供的sessionID为参数
我的问题是:在同一个浏览器(或者同一个电脑,localhost)中,sessionID总是一样的还是什么时候生成的?
【问题讨论】:
标签:
c#
asp.net
session-timeout
【解决方案1】:
默认情况下,浏览器中的新选项卡或新窗口将共享相同的进程,因此域的相同临时会话 cookie。
要在 IE 中打开新会话,请选择“文件”>“新建会话”。
【解决方案2】:
同一浏览器的 SessionID 将相同。
在不同的浏览器(或不同的计算机)上,您将获得不同的 SessionID。
由于 Cookie 的工作方式,这在整个互联网上都是如此,而不仅仅是 asp.net。
例如,您会注意到您无法在同一浏览器中使用不同帐户登录亚马逊或 ebay。
【解决方案3】:
每个浏览器的 SessionId 相同。你可以登录yahoo查看,第一页会要求输入用户名和密码,如果你打开第二页会直接跳转到你的邮箱。
【解决方案4】:
取决于正在使用的浏览器及其使用方式,如前所述,默认情况下,会话在现代浏览器上的同一浏览器之间共享。旧版浏览器(例如 8 之前的 IE)默认也用于跨窗口共享会话,除非用户在浏览器界面之外打开了新的 IE 实例(即开始菜单/快捷方式)。