public void ProcessRequest(HttpContext context) { try { context.Response.AddHeader("P3P", "CP=\"CAO PSA OUR\""); //初始化用户标识 var uid = context.Request.Cookies.Get("_ubvi") == null?HashMd5(Guid.NewGuid().ToString()) : Convert.ToInt32(context.Request.Cookies.Get("_ubvi").Value); context.Response.Cookies.Add(new HttpCookie("_ubvi", uid.ToString()) { Expires = DateTime.Now.AddYears(2) }); var expTime = DateTime.Compare(DateTime.Now.AddMinutes(30).Date, DateTime.Now.Date) == 0 ? DateTime.Now.AddMinutes(30) : DateTime.Now.Date.AddDays(1); //初始化会话标识 var sid = SessionId == null?HashMd5(Guid.NewGuid().ToString()) : Convert.ToInt32(SessionId); context.Response.Cookies.Add(new HttpCookie("_ubso", sid.ToString()) { Expires = expTime }); context.Response.Cookies.Add(new HttpCookie("_ubsc", sid.ToString()) { Expires = DateTime.MinValue }); if (context.Request.QueryString["t"] == "v") { PageView pv = new PageView() { Time = DateTime.Now, Uid = uid, Sid = sid, Url = Url == null ? string.Empty : FomartUrl(Url).Replace("\t", " "), Ip = ClientIp, Vid = (context.Request.QueryString["vid"] ?? string.Empty).Replace("\t", " "), Title = (context.Request.QueryString["title"] ?? string.Empty).Replace("\t", " "), RefUrl = RefUrl == null ? string.Empty : FomartUrl(RefUrl).Replace("\t", " "), User = (context.Request.QueryString["user"] ?? string.Empty).Replace("\t", " "), UserAgent = (context.Request.UserAgent ?? string.Empty).Replace("\t", " "), ScreenHeight = (context.Request.QueryString["sh"] ?? string.Empty).Replace("\t", " "), ScreenWidth = (context.Request.QueryString["sw"] ?? string.Empty).Replace("\t", " "), ColorDepth = (context.Request.QueryString["cd"] ?? string.Empty).Replace("\t", " "), Language = (context.Request.QueryString["lang"] ?? string.Empty).Replace("\t", " "), Os = (context.Request.QueryString["os"] ?? string.Empty).Replace("\t", " "), Cookie = (context.Request.QueryString["cookie"] ?? string.Empty).Replace("\t", " "), Rid = Convert.ToInt64( (string.IsNullOrWhiteSpace(context.Request.QueryString["rid"]) ? "0" : context.Request.QueryString["rid"]).Replace("\t", " ")), Did = Convert.ToInt64( (string.IsNullOrWhiteSpace(context.Request.QueryString["did"]) ? "0" : context.Request.QueryString["did"]).Replace("\t", " ")), SourceId = Convert.ToInt64( (string.IsNullOrWhiteSpace(context.Request.QueryString["sourceid"]) ? "0" : context.Request.QueryString["sourceid"]).Replace("\t", " ")) }; MessageQuery.Send("pv", JsonConvert.SerializeObject(pv)); } else if (context.Request.QueryString["t"] == "e") { Event e = new Event() { Time = DateTime.Now, Uid = uid, Sid = sid, Url = EventUrl == null ? string.Empty : FomartUrl(EventUrl).Replace("\t", " "), Vid = (context.Request.QueryString["vid"] ?? string.Empty).Replace("\t", " "), Eid = Guid.NewGuid().ToString(), EventCategory = (context.Request.QueryString["category"] ?? string.Empty).Replace("\t", " "), EventAction = (context.Request.QueryString["action"] ?? string.Empty).Replace("\t", " "), EventLabel = (context.Request.QueryString["label"] ?? string.Empty).Replace("\t", " "), EventValue = (context.Request.QueryString["value"] ?? string.Empty).Replace("\t", " "), EventNodeId = (context.Request.QueryString["nodeid"] ?? string.Empty).Replace("\t", " ") }; MessageQuery.Send("event", JsonConvert.SerializeObject(e)); } context.Response.Write("ok"); } catch (Exception ex) { Logger.Error(ex.Message + "\n" + ex.Source + "\n" + ex.TargetSite); context.Response.Write(ex.Message + "\n" + ex.Source + "\n" + ex.TargetSite); } }