ServiceStack的“谁在线”功能

时间:2013-08-17 05:17:12

标签: asp.net-mvc-3 servicestack

我正在尝试使用ServiceStack构建一个基本的“谁在线”功能。

会话缓存定义如下:

        var cacheClient = new MemoryCacheClient();
        container.Register<ICacheClient>(cacheClient);

UserAuthId&amp; amp;有没有办法过滤会话集合? AuthUserSession对象中的LastModified字段?

1 个答案:

答案 0 :(得分:3)

对于任何有兴趣的人,我最终都是这样做的:

 var cache = ((Service) (authService)).Cache;
        var online = cache.Get<Dictionary<string, CustomUserSession>>("users_online") ?? new Dictionary<string, CustomUserSession>();
        if(!online.ContainsKey("usr_" + base.UserAuthId))
        {
            online.Add("usr_" + base.UserAuthId, this);
            cache.Set("users_online", online);
        }

此代码应位于从AuthUserSession派生的CustomUserSession类中