如何从asp.net中的不同web应用程序中通过SessionId销毁会话

本文关键字:应用程序 SessionId 会话 web asp net | 更新日期: 2023-09-27 18:29:00

如何在网格视图中制作一个名为Kill Session的按钮,为C#asp.net web表单中的用户终止会话?

如何从asp.net中的不同web应用程序中通过SessionId销毁会话

简单的答案是,在进行任何处理之前,让每个请求检查一个包含此类挂起的"会话终止"的持久队列或表,并有条件地放弃会话。

一个快速优化是让应用程序全局侦听(即从appstart)并主动侦听外部队列,这样就可以立即向其推送"终止请求"。然后,您可以在本地线程安全的数据结构中准备它们,这样正常的HTTP请求就不会减慢速度。

您的会话管理应用程序只需向该队列发送消息。

旁注:任何"服务巴士"通常都可以。这比队列的持久性更重要,因为您需要在消息排队时处理围绕应用程序重新启动的场景。

正确的答案是直接与实际的会话处理程序进行通信。我不相信有任何标准API可以做你想做的事情,所以这将取决于会话处理程序(很可能取决于主机/服务器)。