Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何在不同选项卡中区分会话?_Asp.net_Session State - Fatal编程技术网

Asp.net 如何在不同选项卡中区分会话?

Asp.net 如何在不同选项卡中区分会话?,asp.net,session-state,Asp.net,Session State,我想在同一浏览器中但在不同选项卡中打开一个asp.net应用程序,其中包含一个新会话。 如果可能的话,请告诉我解决方案。最简单的解决方案是配置会话不使用cookies作为会话标识符,并使用客户端代码打开新窗口。要实现这种方法,您需要将web.config文件中的session元素的cookieless属性设置为UseUri。在这种情况下,请注意可能的副作用(引用MSDN): 注意配置启用AJAX的ASP.NET网站时,请仅将默认值UseCookies用于无Cookie属性。ASP.NET AJA

我想在同一浏览器中但在不同选项卡中打开一个asp.net应用程序,其中包含一个新会话。
如果可能的话,请告诉我解决方案。

最简单的解决方案是配置会话不使用cookies作为会话标识符,并使用客户端代码打开新窗口。要实现这种方法,您需要将web.config文件中的
session
元素的
cookieless
属性设置为
UseUri
。在这种情况下,请注意可能的副作用(引用MSDN):

注意配置启用AJAX的ASP.NET网站时,请仅将默认值UseCookies用于无Cookie属性。ASP.NET AJAX客户端脚本库不支持使用URL中编码的Cookie的设置

之后,您可以使用javascript打开具有新会话的新选项卡,如下所示:

<form id="form1" runat="server">
Session Id:
<%= Session.SessionID %>
<hr />
<input type="button" value="Open New Tab" onclick="openNewTab()" />
<script type="text/javascript">
    function openNewTab() {
        window.open(location.protocol + "//" + location.host + "/Default.aspx", "_blank");
    }
</script>
</form>

会话Id:

函数openNewTab(){ window.open(location.protocol+“/”+location.host+“/Default.aspx”,“_blank”); }
或者,您可以实现不使用Cookie作为会话标识符的自定义会话管理器:

查看此主题: