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

C# 如何重新初始化MVC/WEB.API应用程序的会话状态?,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,可以在使用session.放弃()后重新初始化会话状态?也就是说,在global.asax文件中重新触发Session\u Start。只需为SessionSession[“aKey”]=某个值 注意:在ASP.NET MVC中使用Session不是一个好主意,因为,放弃方法只会销毁旧对象,并创建一个新对象,所以您可以使用新对象 下次请求时将引发新事件 因此,您可以将您的用户转到其他页面,会话将从空白处重新启动 重要的一点是,默认情况下,已放弃或过期会话的会话标识符将被回收。也就是说,如果发出的

可以在使用
session.放弃()后重新初始化会话状态?也就是说,在global.asax文件中重新触发Session\u Start

只需为Session
Session[“aKey”]=某个值

注意:在ASP.NET MVC中使用Session不是一个好主意,因为,
放弃
方法只会销毁旧对象,并创建一个新对象,所以您可以使用新对象

下次请求时将引发新事件

因此,您可以将您的用户转到其他页面,会话将从空白处重新启动


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

万不得已的情况我是这么想的,但一步一个脚印永远不会击中全局。尽快。@JohnSchultz
Start
事件只会在向您的服务器发出新的
请求时引发。因此,您可以
将您的用户重定向到另一个页面,会话将再次启动,并使用
返回视图(“”)将用户重定向到另一个页面,不幸的是,它不是至少4个键,而是只填充1个键,而不应该在那里。我错过了什么?@JohnSchultz你是否陷入了
Start
事件?你使用了什么方法进行
重定向?@JohnSchultz你能提供一些代码来重现这个bug吗?