Menu

 浏览器关闭时间会话清除

西林索丹

新成员
已加入
2021年1月1日
留言内容
4
编程经验
1-3
你好,我有一个类似下面的代码。在这里,我希望在关闭浏览器后立即清除会话。但是,当我关闭浏览器时,脚本起作用了,它起作用了,它运行了我的代码。再次打开浏览器时,我仍处于登录状态。你能帮助我吗。

JavaScript:
<script type="text/javascript">       
    $(document).ready(function () {       
        window.addEventListener('beforeunload',recordeCloseTime);   
    });   
    function recordeCloseTime() {       
        $.ajax({
            type: "POST",       
            url: "Account/LogOut",   
        });       
    }
</script>
 
由主持人最后编辑:

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,428
位置
弗吉尼亚州切萨皮克
编程经验
10+
在我看来像JavaScript。我不明白这是一个C#问题。
 

西林索丹

新成员
已加入
2021年1月1日
留言内容
4
编程经验
1-3
在我看来像JavaScript。我不明白这是一个C#问题。
这是javascript,是的,当我关闭浏览器时,我将其发布为mvc中的控制器。但是当我转到所需的控件时,该会话不会清理一轮,只有当我关闭浏览器时才会清理。

控制者
Session.Abandon();
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,428
位置
弗吉尼亚州切萨皮克
编程经验
10+
Set a breakpoint on your Session_OnEnd() handler. (Add one temporarily if needed.) My understanding is that a 会议 is not really dead until after the 会议 has ended. Calling Session.Abandon() just marks the 会议 for deletion.

You could also just try the brute force Session.Clear() followed by calling Session.Abandon(), but personally, I'd rather narrow down first if the 会议 is even ending.
 

西林索丹

新成员
已加入
2021年1月1日
留言内容
4
编程经验
1-3
Set a breakpoint on your Session_OnEnd() handler. (Add one temporarily if needed.) My understanding is that a 会议 is not really dead until after the 会议 has ended. Calling Session.Abandon() just marks the 会议 for deletion.

You could also just try the brute force Session.Clear() followed by calling Session.Abandon(), but personally, I'd rather narrow down first if the 会议 is even ending.
多谢您的回覆。我了解到,当我关闭浏览器时,需要在全局asax cs中触发会话结束事件。我不知道如何在mvc中执行此操作。你能给我个主意吗?
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,428
位置
弗吉尼亚州切萨皮克
编程经验
10+
You misunderstood. I'm not asking you to trigger the 会议 end. You are already trying to end the 会议 by calling Session.Abandon(). I'm trying to get you to determine if the 会议 truly is ending by setting a breakpoint in the event handler for the end of a 会议 to confirm that the 会议 that you think has ended truly has ended.
 

西林索丹

新成员
已加入
2021年1月1日
留言内容
4
编程经验
1-3
You misunderstood. I'm not asking you to trigger the 会议 end. You are already trying to end the 会议 by calling Session.Abandon(). I'm trying to get you to determine if the 会议 truly is ending by setting a breakpoint in the event handler for the end of a 会议 to confirm that the 会议 that you think has ended truly has ended.
再次您好,谢谢。我在事件处理程序中设置了一个断点,但是当我关闭浏览器时,控制器出现了,但是全局asax并未出现在会话结束事件中。您能给我些更多信息吗?我真的很需要我该怎么办?我要做的实际上是在关闭浏览器后完全清理会话。
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,428
位置
弗吉尼亚州切萨皮克
编程经验
10+
我不知道。但看起来这里有一些有趣的答案:
 
最佳 底部