private bool ClearUserLoginState(BCEnterpriseContext db) { try { int refreshRate; int.TryParse(System.Configuration.ConfigurationManager.AppSettings["KeepSessionRequestRate"], out refreshRate); refreshRate = refreshRate > 0 ? refreshRate : ML.BC.Infrastructure.Common.ConstantData.KEEPSESSIONREQUESTRATE; var refreshTime = ML.BC.EnterpriseData.Model.Extend.DBTimeHelper.DBNowTime(db).AddMinutes(0 - refreshRate * 2); var list = db.UserLoginStates.Where(n => n.Device == "PC" && n.UpdateTime < refreshTime).ToList(); list.ForEach(n => { LoginLogWrite(db, n, EnterpriseData.Common.LoginStatus.TimeOut, "登录超时"); }); var result = db.ExcuteNonQuerySql( new string[] { "UserLoginState" }, string.Format("DELETE FROM [UserLoginState] WHERE [Device]='PC' AND [UpdateTime]<'{0}'", refreshTime)); return(true); } catch { return(false); } finally { } }