Пример #1
0
 /// <summary>
 /// 执行在线用户向表及缓存中添加的操作。
 /// </summary>
 /// <param name="onlineuserinfo">在组用户信息内容</param>
 /// <returns>添加成功则返回刚刚添加的olid,失败则返回0</returns>
 public static int CreateOnlineUserInfo(OnlineUserInfo onlineuserinfo, int timeout)
 {
     //如果启用用户缓存则进行更新
     if (Users.appDBCache && Users.IUserService != null)
     {
         UserInfo userInfo = Users.IUserService.GetUserInfo(onlineuserinfo.Userid);
         if (userInfo != null)
         {
             userInfo.Onlinestate = 1;
             Users.IUserService.UpdateUser(userInfo);
         }
     }
     //如果启用在线用户表缓存
     if (appDBCache)
     {
         return(IOnlineUserService.CreateOnlineUserInfo(onlineuserinfo, timeout));
     }
     else
     {
         return(DatabaseProvider.GetInstance().AddOnlineUser(onlineuserinfo, timeout, GeneralConfigs.GetConfig().Deletingexpireduserfrequency));
     }
 }