asp.net c#中的会话变量范围是多少?

时间:2018-06-07 06:25:54

标签: c# asp.net

我有一个使用asp.net的web应用程序和c# 我正在创建一个会话任何页面,如下所示

Session["SessionName"] = "SessionValue";

我需要知道我可以在下面列出的案例中访问此会话变量

1)在同一浏览器的新标签页中访问相同的Web应用程序

2)在同一浏览器的新窗口中访问相同的Web应用程序

3)在其他浏览器中访问相同的Web应用程序

由于

2 个答案:

答案 0 :(得分:3)

简短回答,是#1和#2;否#3(默认情况下,使用cookie存储会话ID)。

默认情况下,会话对象由存储在cookie中的会话ID访问。任何可以共享相同cookie的请求都将在服务器端代码上具有相同的Session对象。

如果您需要您的应用程序跨浏览器工作,请阅读" cookieless"会话https://msdn.microsoft.com/en-us/library/ms178581.aspx

答案 1 :(得分:1)

除了之前的答案(抱歉没有足够的声誉评论)。

如果你想要第三种情况而不是Session,你必须像这样定义一个Application变量:

Application["SomeName"] = "SomeValue";

进一步解释here

相关问题