ASP.Net-会话超时过期后会发生什么
我是ASP.Net的新手,我有一个基本问题。我试图找到答案,但失败了 我使用session变量在我的web应用程序中的页面中携带记录的用户IDASP.Net-会话超时过期后会发生什么,asp.net,session-variables,Asp.net,Session Variables,我是ASP.Net的新手,我有一个基本问题。我试图找到答案,但失败了 我使用session变量在我的web应用程序中的页面中携带记录的用户ID if (Session["LoggedUserKey"] == null) { Session.Add("LoggedUserKey", UserID); } else { Session["LoggedUserKey"] = UserID; } 我不确定会话超时过期后会发生什么?我会丢失我的用户ID吗?当我询问会话变量
if (Session["LoggedUserKey"] == null)
{
Session.Add("LoggedUserKey", UserID);
}
else
{
Session["LoggedUserKey"] = UserID;
}
我不确定会话超时过期后会发生什么?我会丢失我的用户ID吗?当我询问会话变量时,会话超时是否会延长,如:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["LoggedUserKey"] == null)
{
Response.Redirect("~/Login.aspx");
return;
}
}
当会话超时时,您的会话已过期。您可以在web.config中将会话超时作为
<sessionState timeout="60"></sessionState>
然后会话将在60分钟后过期。您可以在此中指定自定义时间。会话过期时,您根本无法获取用户ID。例如,bannking站点的会话超时时间只有几分钟。在此之后,如果您没有在会话超时后的时间内向服务器发送任何请求,则必须启动新会话。会话超时时,您的会话已过期,您可以在web.config中将会话超时设置为
<sessionState timeout="60"></sessionState>
然后会话将在60分钟后过期。您可以在此中指定自定义时间。会话过期时,您根本无法获取用户ID。例如,bannking站点的会话超时时间只有几分钟。在此之后,如果您没有在会话超时后的时间内向服务器发送任何请求,则必须启动新会话。您正在检查
LoggedUserkey
是否为null
。。如果您正在添加UserId
,那么您可能必须从文本框中获取该用户id到LoggedUserkey
。
其他部分的目的是什么?当LoggedUserkey
已经有UserId
时,或者为什么要再次添加UserId
?会话过期时,您已经丢失了UserId
第二个代码是有意义的。。
一旦会话过期。(默认情况下,20分钟后)
在页面加载时,如果会话[“LoggedUserKey”]==null
则您正在将用户重定向到Login.aspx页面
还要注意,每次与服务器交互时都会重置超时会话。例如刷新页面或与服务器交互的任何活动。您正在检查
LoggedUserkey
是否为null
。。如果您正在添加UserId
,那么您可能必须从文本框中获取该用户id到LoggedUserkey
。
其他部分的目的是什么?当LoggedUserkey
已经有UserId
时,或者为什么要再次添加UserId
?会话过期时,您已经丢失了UserId
第二个代码是有意义的。。
一旦会话过期。(默认情况下,20分钟后)
在页面加载时,如果会话[“LoggedUserKey”]==null
则您正在将用户重定向到Login.aspx页面
还要注意,每次与服务器交互时都会重置超时会话。例如刷新页面或与服务器交互的任何活动。当会话过期或会话超时时,将引发global.asax中的
会话结束
事件(DB处理会话时除外),并最终清除会话集合
如果任何对象未持有对会话集合中任何值的引用,则GC将收集它。但是,关于GC将在何时删除这些对象,我们不能说得太多
另外,关于会话超时是否延长,超时
表示当前会话将被放弃之前必须经过的当前分钟数,前提是不再从客户端接收请求。可以通过编程方式更改此值,这样当需要执行更重要的操作时,您就有机会使会话集合保留更长的时间
所以,结论是,当用户在超时时间之前执行某些活动时,会话确实会延长。如果用户在超时后执行某些活动,会话肯定会过期,用户将被重定向到登录页面,或者根据您的设置执行相应的后续步骤。当会话过期或会话超时时,将引发global.asax中的
会话结束
事件(由DB处理会话时除外)会话集合最终被清除
如果任何对象未持有对会话集合中任何值的引用,则GC将收集它。但是,关于GC将在何时删除这些对象,我们不能说得太多
另外,关于会话超时是否延长,超时
表示当前会话将被放弃之前必须经过的当前分钟数,前提是不再从客户端接收请求。可以通过编程方式更改此值,这样当需要执行更重要的操作时,您就有机会使会话集合保留更长的时间
所以,结论是,当用户在超时时间之前执行某些活动时,会话确实会延长。如果用户在超时后执行某些活动,会话肯定会过期,用户将被重定向到登录页面,或者根据您的设置执行相应的下一步操作。会话过期后,您将丢失LoggedUserKey中的userid值。会话过期后,您将丢失LoggedUserKey中的userid值。因此,当向服务器发送请求时,会话将丢失生存期是否重置为定义值?是会话超时是根据上次发送到服务器的请求计算的。因此,当某些请求发送到服务器时,会话生存期将重置为定义值?是会话超时是根据上次发送到服务器的请求计算的。