/// <summary> /// 记录。 /// </summary> /// <param name="user"></param> /// <returns></returns> public void AccessTrack(SqlConnection conn, AccessAnalytics access) { SqlParameter[] parameters = { new SqlParameter(column_UserId, access.UserId), new SqlParameter(column_ReferrerUrl, access.ReferrerUrl), new SqlParameter(column_AccessUrl, access.AccessUrl), new SqlParameter(column_IP, access.IP), new SqlParameter(column_PageTitle, access.PageTitle), new SqlParameter(column_Operation, access.Operation) }; DBHelper.CheckSqlSpParameter(parameters); DBHelper.RunNonQueryProcedure(conn, sp_PageAccessTrack, parameters); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = Content_Type; var referrerUrl = context.Request.QueryString[title_from]; var accessUrl = context.Request.UrlReferrer == null ? null : context.Request.UrlReferrer.ToString(); var IP = context.Request.UserHostAddress; var title = context.Request.QueryString[title_para]; var operation = context.Request.QueryString[title_operation]; var access = new AccessAnalytics { ReferrerUrl = referrerUrl, AccessUrl = accessUrl, IP = IP, PageTitle = title, Operation = operation }; if (string.IsNullOrEmpty(referrerUrl)) { access.ReferrerUrl = Derivet; } else { if (referrerUrl.Contains(Baidu)) { access.ReferrerUrl = BaiduSearch; } } if (context.Session != null && context.Session["userinfo"] != null) { access.UserId = ((User)context.Session["userinfo"]).UserId; } ThreadPool.QueueUserWorkItem(delegate(object state) { try { AccessAnalyticsService.Instance.AccessTrack(state as AccessAnalytics); } catch (Exception exception) { LogService.Log("记录用户行为失败", exception.ToString()); } }, access); }