使用Session.Abandon();
后是否可以重新初始化会话状态?意思是,在global.asax文件中重新触发Session_Start
。
答案 0 :(得分:0)
只需为会话Session["aKey"]=something
注意:在ASP.NET MVC中使用Session不是一个好主意
答案 1 :(得分:0)
根据official docs,Abandon
方法只会破坏旧对象,并创建一个新对象,因此您可以使用新对象。
下次请求时会引发新的
Start
事件。
因此,您可以Redirect
将您的用户转到其他某个页面,会话将从空白处再次启动。
重要的是,默认情况下会回收已放弃或过期的会话的Session
个标识符。也就是说,如果发出包含过期或放弃会话的会话标识符的请求,则使用相同的会话标识符启动新会话。您可以通过将regenerateExpiredSessionId
配置元素的sessionState
属性设置为true
来禁用此功能。