2013-08-17 48 views
2

我正在嘗試使用ServiceStack構建基本的「誰在線」功能。ServiceStack中的「誰在線」功能

會話緩存的定義如下:

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

通過UserAuthId是否有會話的方式過濾收集&上次更改時間字段其在AuthUserSession對象?

回答

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類