public void SignOut(long userID) { try { SuUser user = QueryProvider.SuUserQuery.FindByIdentity(userID); SuSession session = userSessionDao.FindByIdentity(userID); if (user == null) { return; } IList <SuUserLog> suUserLog = QueryProvider.SuUserLogQuery.FindSuUserLogByUserIdSessionID(user.UserName, session.Sessionid); if (suUserLog.Count > 0) { suUserLog[suUserLog.Count - 1].SignOutDate = DateTime.Now; SuUserLogService.Update(suUserLog[suUserLog.Count - 1]); } userSessionDao.Delete(session); } catch { } }
public void SaveTosuUserLog(string UserName, string Status, string SessionID) { if (System.Web.HttpContext.Current != null) { System.Web.HttpRequest currentRequest = System.Web.HttpContext.Current.Request; string ipAddress = currentRequest.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (ipAddress == null || ipAddress.ToLower() == "unknown") { ipAddress = currentRequest.ServerVariables["REMOTE_ADDR"]; } SuUserLog suUserLog = new SuUserLog(); suUserLog.UserName = UserName; suUserLog.IPAddress = ipAddress + "/" + Dns.GetHostName(); suUserLog.SignInDate = DateTime.Now; suUserLog.Status = Status; suUserLog.SessionID = SessionID; suUserLog.SignOutDate = null; SuUserLogService.Save(suUserLog); } }