在ServiceStack应用程序中是否有任何方法可以确定客户端是否已无法断开连接?我想获得一个在线用户列表,但是
var sessionPattern = IdUtils.CreateUrn<IAuthSession>("");
var sessionKeys = Cache.GetKeysStartingWith(sessionPattern).ToList();
var activeSessions = Cache.GetAll<IAuthSession>(sessionKeys).Values;
只能获得有效的会话,这些会话有效,直到它们到期或客户端注销(这不会反映他是否是onlline)。
答案 0 :(得分:1)
如果您指的是服务器事件订阅,它们的生命周期与用户会话完全无关。服务器事件订阅仅表示与服务器事件/事件流的长期HTTP连接,该连接可能来自或可能不是来自经过身份验证的用户。
找出active connected users is to call /event-subscribers的方法。
在ServiceStack内部,服务器事件订阅的所有可用信息都是accessible through the IServerEvents依赖关系,例如:要查找用户的所有活动订阅,您可以调用GetSubscriptionInfosByUserId()