2

ServiceStack を使用して基本的な「誰がオンラインか」機能を構築しようとしています。

セッション キャッシングは次のように定義されます。

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

AuthUserSession オブジェクトにある UserAuthId および LastModified フィールドによってセッションのコレクションをフィルタリングする方法はありますか?

4

1 に答える 1

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 クラスにある必要があります

于 2013-08-17T06:26:36.717 に答える