C# 如何在asp.net中恢复会话

C# 如何在asp.net中恢复会话,c#,asp.net,.net,session,C#,Asp.net,.net,Session,我在.NET4.0中创建了一个网站,其中用户首先登录并重定向到仪表板页面,登录后,用户面板中有8个页面,母版页中有一个注销按钮。我想存储在用户注销的页面上,以及下次登录时,他的会话将被恢复(重定向到他注销的同一页面)。 任何人都可以给我任何提示???你可以使用: 并将其存储在会话中 Session["LastVisitedPage_" + userId] = Request.Url.AbsoluteUri; 您可以使用Request.Url获取当前页面的Url。当用户单击注销按钮时,将当前u

我在.NET4.0中创建了一个网站,其中用户首先登录并重定向到仪表板页面,登录后,用户面板中有8个页面,母版页中有一个注销按钮。我想存储在用户注销的页面上,以及下次登录时,他的会话将被恢复(重定向到他注销的同一页面)。 任何人都可以给我任何提示???

你可以使用:

并将其存储在会话中

Session["LastVisitedPage_" + userId] = Request.Url.AbsoluteUri;

您可以使用Request.Url获取当前页面的Url。当用户单击注销按钮时,将当前url存储在数据库中。用户下次登录时,从数据库检索url并重定向到它。

要注销:

 Session.abandon();
 Session["name"] = Request.Url.AbsoluteUri;
存储会话:

 Session.abandon();
 Session["name"] = Request.Url.AbsoluteUri;

您将会话与
Session
s混淆
Session
是一个ASP.NET类,如果您的应用程序中激活了会话支持,则每个页面都可以使用该类(默认情况下,该类处于打开状态,默认情况下将其值存储在内存中)。但是这些
Session
s超时;在一段不活动的时间(比如15分钟)后,服务器会清除内存

你的意思只是一个会话:用户登录,做一些事情,然后注销

为了自动返回到他注销时的最后一页,您只需让注销按钮的代码在数据库中存储
Request.Uri.AbsoluteUri
字符串。因此,只需让该按钮的
单击
事件处理程序在codebehind中将该值与用户ID一起存储即可


然后,登录按钮的
点击
事件背后的代码可以简单地检索该值和
响应。将
重定向到该Uri。

使用“会话还原”,您的意思是只希望用户自动返回到上次离开的页面,或者您也希望恢复会话值??我不确定会话是否是存储此信息的正确方式。我可能会在数据库中或在cookie/jStorage对象中执行此操作,并在使用JavaScript登录时重定向。@RoyDictus我只希望用户自动返回到上次离开的页面,而不管用户使用哪台机器/浏览器,您是否希望这样做?我的意思是,假设我今天在工作中使用你的应用程序,明天在家登录你的应用程序。那么会发生什么?@RoyDictus我想将会话值存储在数据库中,这样无论用户登录到哪里,Darren你的答案对我来说都不重要,roy也会更好地解释你的答案谢谢你重播Ryantshanks roy你回答的正是我想要的,谢谢你更好地解释答案。