如果无论如何我的会话已经结束,那么我怎样才能在代码中再次启动会话。
答案 0 :(得分:1)
你做不到。当会话从浏览器或服务器消失时,无法重新打开,您必须开始新的会话。
重新打开在浏览器中关闭的会话将存在潜在的安全风险。无法重新打开从服务器关闭的会话,因为数据不再存在。
每个请求都在会话范围内完成(除非您专门发出无会话请求),因此如果会话因任何原因而关闭,则会在下一个请求时自动创建一个新会话。
答案 1 :(得分:0)
传统上,如果您希望会话保持活跃状态,则必须编写应用程序,以便在会话超时期间不断向服务器发出请求。这可能是在javascript计时器上使用ajax请求或iframe回发。我从来没有真正喜欢这些方法,但对于某些应用来说,它们是有意义的。
以下是基于ajax的会话刷新的简单示例: http://naspinski.net/post/Automatically-refresh-your-users-Session-behind-the-scenes-using-jQuery-and-AspNet.aspx
答案 2 :(得分:0)
您不能这样做,但您可以使用Session.RemoveAll()
。