我有一个ServerEventsFeature
的服务。我使用默认情况下向服务发送心跳的ServerEventsClient
。据我所知,ServiceStack不支持从框中过期,但会话生命周期在每次心跳后刷新。这是应该如何,有没有办法控制它?我已经通过将SessionExpiry
设置为30秒和HeartbeatInterval
设置为20秒进行了测试 - 该应用会发送多个(10+)心跳来避免任何问题。另外,如果客户端应用程序崩溃并强制关闭 - 会话将在服务器会话列表中“活着”,直到我尝试使用它,是否有办法在早期放弃它?ServiceStack会话生命周期在心跳上增加
实施例:
启动服务器
发射客户机1
执行
var sessionPattern = IdUtils.CreateUrn<IAuthSession>("");
var sessionKeys = Cache.GetKeysStartingWith(sessionPattern).ToList();
var allSessions = Cache.GetAll<IAuthSession>(sessionKeys);
结果计数为1
发射客户端2和3
降客户机1通过力关闭(无注销呼叫)
再次执行相同的代码 - 结果计数是3
然后它看起来像我编码错了。谢谢,我会进行额外的测试 – HardLuck