/// <summary> /// 登录操作队列处理 /// </summary> private void LoginQueueWork() { while (true) { //出队 var item = QueueLogin.DeQueue(); if (null != item) { UserLoginRecords records = new UserLoginRecords { AreaID = item.AreaID, AreaName = item.AreaName, Latitude = item.Latitude, LoginTime = item.LoginTime.ToDateTime(), Longitude = item.Longitude, RecordID = IDProvider.NewId(), TerminalDevice = item.TerminalDevice, UserID = item.UserID }; //更新用户信息 ServicesProvider.Items.UserService.UpdateLastInfo(item.UserID, item.UserName, item.UserType, item.AreaName, item.LoginTime.ToDateTime()); //记录登录操作信息 ServicesProvider.Items.UserLoginRecordService.AddRecord(records); } //避免无数据操作时CPU空转 Thread.Sleep(100); } }
/// <summary> /// 记录登录信息 /// </summary> /// <param name="record"></param> /// <returns></returns> public async Task <int> AddRecord(UserLoginRecords record) { using (var db = new DbContext()) { db.UserLoginRecords.Add(record); return(await db.SaveChangesAsync()); } }