asp.net - Azure Redis - 当模式=自定义时如何在 ASP.NET 应用程序中模拟 session_end 事件?
问题描述
我正在与之合作的组织使用 Azure Redis 为其 ASP.NET 站点存储会话信息,这对我来说是一个新领域(对此没有任何经验)。
我需要在会话结束时触发一些代码(超时、被放弃等),我读到如果您保存了会话状态 InProc Session_End 将触发,但我们的组织使用会话状态的自定义设置。像这样:
<sessionState mode="InProc" customProvider="RedisSessionStateStore" stateConnectionString="tcpip=xxxx" sqlConnectionString="xxxx" cookieless="false" timeout="1000">
<providers>
<add name="RedisSessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" connectionString="xxx" applicationName="xxxx" retryTimeoutInMilliseconds="1000" ssl="false" />
</providers>
</sessionState>
据我了解,在这种情况下不会触发 Session_End 事件。除了做某种计划的工作试图找到所有被放弃的会话之外,有什么方法可以捕获 Session_End 事件?
解决方案
注意:仅当 Web.config 文件中的会话状态模式设置为 InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer 或 SQLServer,则不会引发事件。
这就是Session_End
无法捕获事件的原因。
我想下面的博客,也许对你有用。
推荐阅读
- java - 在 servlet/filter 中,如何获取未配置 auth-constraint 的 url 列表
- groovy - Jira 自定义 groovy 脚本后置函数中的错误
- c# - 如何将 gzip 用于我的 Angular 项目?
- jquery - 当我单击模态然后显示重复的 URL
- elasticsearch - Elasticsearch 同义词搜索 synonym.txt 格式
- javascript - 有没有办法在javascript中自定义window.print()中的保存按钮?
- selenium - 无法为活动元素找到正确的 xpath
- python - 对于最大和子列表,是否有任何时间复杂度为 O(n^3) 的算法?
- java - 当用户滚动到 RecyclerView 的底部时,使用 ScrollListener 从 Firebase Realtime DB 中提取数据的问题
- vue.js - 如何使用自定义过滤器功能过滤 b 表行?