ASP。 NET Core-会话结束时运行功能

时间:2019-03-06 10:33:10

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

如果会话结束,是否有运行函数的方法? 例如:我想运行一个删除目录的方法,该目录仅为会话用户保存临时数据。如果用户10分钟未执行任何操作,我想删除其目录以节省空间。如果他在15分钟后做出了新动作,那么他将成为一个新会话,其中包含临时数据的新目录。

2 个答案:

答案 0 :(得分:0)

有多种选择可以实现

  1. 池化(添加setTimeOut为15分钟的javascript / jquery函数)
function RefreshSession() {
                $.ajax({
                    url: '/Home/RefreshSession',
                    type: 'Get',
                    data: {},
                    global: false,
                    success: function () {
                        setTimeout("RefreshSession()", 900000);
                    }
                });
            }
  1. 如果您要注销用户,则可以使用.net核心Cookie身份验证选项。事件
  

services.ConfigureApplicationCookie(options =>               {                   options.ExpireTimeSpan = TimeSpan.FromMinutes(15);                   options.Events.OnSigningOut = yourFunction               });

答案 1 :(得分:0)

Task.Delay(SessionTimeout).ContinueWith(() => doSomething());