aspnetboilerplate会话超时和redis实现
aspnetboilerplate session timeout & redis implementation
我正在使用带 MVC 5 的 ABP 框架并部署到 Azure。我在下面列出了几个与会话相关的问题。
我在WebMpa项目中使用了HttpContext.Current.Session
,在应用程序服务中使用了AbpSession,但是在WebMpa项目中使用HttpContext.Current.Session
无法从AbpSession获取数据,两者都将数据保存在不同的地方地点?
我正在使用静态助手 class 和静态 属性 到 Get/Set HttpContext.Current.Session
值,如果我想删除 HttpContext.Current.Session
任何最简单的方法都可用(代码更改最少),如果我们可以从静态 class?
中获取 AbpSession
会更好
我想在会话过期前 20 秒提醒用户,ABP 中是否有可用的内置选项?
如果我在我的应用程序中启用 Redis 缓存实现,缓存、HttpContext.Current.Session
、AbpSession
和 TempData
将正常工作,并且都应该 Get/Set 来自 Redis 数据源的值?
- AbpSession 未扩展 HttpContext.Current.Session。所以答案是肯定的,你不能共享数据 btw AbpSession 和 Session。
- 不要对可注入类型使用静态。不好的做法!
- 没有内置函数。您可以使用 javascript 函数实现此目的。完成请求后,启动计时器。您知道会话超时持续时间。因此,当它达到 20 秒时,显示警报 window 以继续会话。如果回答是,则重新请求幻灯片会话。
- 没有!正如我所说,Session 和 AbpSession 是完全不同的东西,顺便说一句,你不能共享它们。
PS:AbpSession 存储声明。而且它是可扩展的。所以你可以在 AbpSession 中存储任何项目。请参阅 link 以了解如何扩展 AbpSession https://gist.github.com/hikalkan/67469e05475c2d18cb88
我正在使用带 MVC 5 的 ABP 框架并部署到 Azure。我在下面列出了几个与会话相关的问题。
我在WebMpa项目中使用了
HttpContext.Current.Session
,在应用程序服务中使用了AbpSession,但是在WebMpa项目中使用HttpContext.Current.Session
无法从AbpSession获取数据,两者都将数据保存在不同的地方地点?我正在使用静态助手 class 和静态 属性 到 Get/Set
中获取HttpContext.Current.Session
值,如果我想删除HttpContext.Current.Session
任何最简单的方法都可用(代码更改最少),如果我们可以从静态 class?AbpSession
会更好我想在会话过期前 20 秒提醒用户,ABP 中是否有可用的内置选项?
如果我在我的应用程序中启用 Redis 缓存实现,缓存、
HttpContext.Current.Session
、AbpSession
和TempData
将正常工作,并且都应该 Get/Set 来自 Redis 数据源的值?
- AbpSession 未扩展 HttpContext.Current.Session。所以答案是肯定的,你不能共享数据 btw AbpSession 和 Session。
- 不要对可注入类型使用静态。不好的做法!
- 没有内置函数。您可以使用 javascript 函数实现此目的。完成请求后,启动计时器。您知道会话超时持续时间。因此,当它达到 20 秒时,显示警报 window 以继续会话。如果回答是,则重新请求幻灯片会话。
- 没有!正如我所说,Session 和 AbpSession 是完全不同的东西,顺便说一句,你不能共享它们。
PS:AbpSession 存储声明。而且它是可扩展的。所以你可以在 AbpSession 中存储任何项目。请参阅 link 以了解如何扩展 AbpSession https://gist.github.com/hikalkan/67469e05475c2d18cb88