private void BufferRequestProcessInfo(RequestProcessInfo requestInfo) { if (this._isBufferRequest) { BufferServiceManager.TransportService.Transport(requestInfo); } }
public static RequestProcessInfo GetRequestProcessInfo(this HttpRequestBase request) { RequestProcessInfo requestInfo = null; IDictionary items = request.RequestContext.HttpContext.Items; if (items.Contains(RequestInfo_Context_Key)) { return((RequestProcessInfo)items[RequestInfo_Context_Key]); } return(requestInfo); }
public static void SetRequestProcessInfo(this HttpRequestBase request, RequestProcessInfo requestInfo) { IDictionary items = request.RequestContext.HttpContext.Items; if (!items.Contains(RequestInfo_Context_Key)) { items.Add(RequestInfo_Context_Key, requestInfo); } else { items[RequestInfo_Context_Key] = requestInfo; } }
private RequestProcessInfo BuildRequestInfo(ActionExecutingContext filterContext) { var request = filterContext.HttpContext.Request; var requestInfo = new RequestProcessInfo(); requestInfo.IdentityInfo = filterContext.HttpContext.Request.GetIdentityInfo(); requestInfo.RequestStartTime = System.DateTime.Now; requestInfo.UserAgent = request.UserAgent; requestInfo.RequestUrl = filterContext.HttpContext.Request.RawUrl.ToString(); // 获取cookie if (request.Cookies.Count > 0) { foreach (string key in request.Cookies.Keys) { HttpCookie item = request.Cookies[key]; requestInfo.RequestCookie += string.Format("{0}={1}~", item.Name, item.Value); } if (requestInfo.RequestCookie.Length > 0) { requestInfo.RequestCookie = requestInfo.RequestCookie.TrimEnd('~'); } } var ips = request.GetAllIpAddress(); requestInfo.ClientIP = ips.HttpClientIp; requestInfo.ClientIP2 = ips.NginxClientIp; requestInfo.IsHttps = ips.IsHttps; //获取请求方法 requestInfo.HttpMethod = filterContext.HttpContext.Request.HttpMethod; requestInfo.RequestArguments = new Dictionary <string, object>(filterContext.ActionParameters); return(requestInfo); }