在同一浏览器Asp.net C#的两个不同选项卡上打开相同的网页后单独的会话

时间:2014-06-24 07:09:04

标签: c# asp.net session

在同一浏览器的两个不同选项卡上打开同一网页后,是否可以创建单独的会话

<sessionState mode="InProc" cookieless="UseUri"></sessionState>

我不想显示像

这样的网址
http://localhost/SampleWeb/(S(afdg3ires1ik0lmjm3pkjtzl))/default.aspx  

1 个答案:

答案 0 :(得分:2)

这取决于您的实施 -

  1. 如果您正在使用浏览器创建的cookie会话并在您的应用程序中使用此会话,那么NO。这不可能。因为这取决于浏览器,并且浏览器通常使用相同的会话(保存在cookie中,并且一个站点只存在一个cookie命名空间)用于多个选项卡。

  2. 但是如果您使用的是无cookie会话并使用会话密钥作为url参数,那么这是可能的。在这种情况下,您可能必须实现或使用自己的自定义会话管理器来管理会话。

  3. ASP.Net可能有一个无Cookie会话管理系统,但我之前没有用过。你可能想尝试一下。你可以在这里找到文档 -

    Cookieless Session

    如果您使用无Cookie会话,则会话密钥会附加网址,因此您可以将不同的标签视为不同的浏览器标签,因此这可能对您有用。因为在这种情况下,浏览器无法识别两个相同的站点,并且应该使用相同的会话,因为它们不使用cookie。