private void BufferRequestProcessInfo(RequestProcessInfo requestInfo)
 {
     if (this._isBufferRequest)
     {
         BufferServiceManager.TransportService.Transport(requestInfo);
     }
 }
Example #2
0
        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);
        }
Example #3
0
        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);
        }