是否有Session.Abandon()asp.net核心

时间:2016-06-24 16:53:31

标签: asp.net-core .net-core asp.net-core-1.0

在Asp.net WebForms中,global.asax中有一个名为Seesion_End()的事件,每当会话超时或你调用Session.Abandon()执行此事件处理程序时,我需要在asp中有类似的行为。 net Core,有可能吗?

2 个答案:

答案 0 :(得分:3)

您只需致电:

即可清除会话

HttpContext.Session.Clear();

答案 1 :(得分:1)

docs涵盖了大部分内容。会话超时设置如下:

services.AddSession(options =>
{
  options.IdleTimeout = TimeSpan.FromSeconds(10);
});

但由于它存在cookie,因此cookie也有一个到期日期。因此,如果IdleTimeout到期,则会话到期。如果cookie过期,会话就会消失。如果cookie被删除,会话就会消失。

调用Session.Clear()会删除会话内容,但会保持会话完整(也就是说,cookie不会被删除),如source中所述。