如何重新初始化MVC / WEB.API应用程序的会话状态?

时间:2015-03-24 11:23:36

标签: c# asp.net asp.net-mvc

使用Session.Abandon();后是否可以重新初始化会话状态?意思是,在global.asax文件中重新触发Session_Start

2 个答案:

答案 0 :(得分:0)

只需为会话Session["aKey"]=something

指定一个值即可

注意:在ASP.NET MVC中使用Session不是一个好主意

答案 1 :(得分:0)

根据official docsAbandon方法只会破坏旧对象,并创建一个新对象,因此您可以使用新对象。

  

下次请求时会引发新的Start事件。

因此,您可以Redirect将您的用户转到其他某个页面,会话将从空白处再次启动。

重要的是,默认情况下会回收已放弃或过期的会话的Session个标识符。也就是说,如果发出包含过期或放弃会话的会话标识符的请求,则使用相同的会话标识符启动新会话。您可以通过将regenerateExpiredSessionId配置元素的sessionState属性设置为true来禁用此功能。