Exemple #1
0
        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);
        }