public static WebSession CreateSession(HttpRequest request) { int visitTimes = 1; string clientID = string.Empty; string empty = string.Empty; string source; string keyword; SessionService.TryToFindSearchEnginSourceAndKeyword(request, out source, out keyword); if (request.Cookies["VisitTime"] != null) { visitTimes = Convert.ToInt32(request.Cookies["VisitTime"].Value) + 1; } if (request.Cookies["ClientID"] != null && request.Cookies["ClientID"].Value != "") { clientID = request.Cookies["ClientID"].Value; } else { clientID = Guid.NewGuid().ToString(); } WebSession webSession = new WebSession(); StringHelper.isNullOrEmpty(empty); webSession.AccountID = empty; webSession.Browser = request.ServerVariables["HTTP_USER_AGENT"]; webSession.ClientID = clientID; webSession.ClientIP = WebClientOperator.GetClientIP(request); webSession.CreateTime = DateTime.Now; webSession.EndTime = webSession.CreateTime; webSession.HostName = request.ServerVariables["HTTP_HOST"]; webSession.LastRequestTime = webSession.CreateTime; webSession.SessionID = Guid.NewGuid().ToString(); webSession.StartTime = webSession.CreateTime; webSession.UpdateStamp = Guid.NewGuid().ToString(); webSession.UpdateTime = webSession.CreateTime; webSession.VisitTimes = visitTimes; webSession.Source = source; webSession.Keyword = keyword; webSession.StoragePath = ConfigurationManager.AppSettings["StoragePath"]; webSession.StorageRelativePath = ConfigurationManager.AppSettings["StorageRelativePath"]; BlackList blackList = SiteProtectService.TryToFindIPInBlackList(webSession.ClientIP); if (blackList == null) { webSession.BlockType = BlockType.NoBlock; } else { webSession.BlockType = (BlockType)blackList.BlockType; } SessionService.sessionGateway.AddNew(webSession); return(webSession); }