wanshenmean
12 小时以前 1515ffa15c11e106f35e1447bc990b7867c449bb
Code/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs
@@ -74,7 +74,7 @@
                    try
                    {
                        // 存储请求数据
                        requestParam = RequestDataLog(context);
                        requestParam = await RequestDataLogAsync(context);
                        context.Request.Body.Position = 0;
                    }
                    catch { }
@@ -86,7 +86,7 @@
                    try
                    {
                        // 存储响应数据
                        responseParam = ResponseDataLog(context.Response);
                        responseParam = await ResponseDataLogAsync(context.Response);
                    }
                    catch { }
@@ -114,20 +114,23 @@
            }
        }
        private string RequestDataLog(HttpContext context)
        private async Task<string> RequestDataLogAsync(HttpContext context)
        {
            var request = context.Request;
            //request.EnableBuffering();
            //request.Body.Position = 0;
            var sr = new StreamReader(request.Body);
            var sr = new StreamReader(request.Body, Encoding.UTF8);
            object obj;
            string bodyData = sr.ReadToEndAsync().Result;
            string bodyData = await sr.ReadToEndAsync();
            if (request.ContentLength <= 100000)
            {
                obj = new
                {
                    QueryString = request.QueryString.ToString(),
                    BodyData = bodyData
                    BodyData = JsonConvert.DeserializeObject(bodyData)
                    //BodyData = bodyData
                };
            }
            else
@@ -145,13 +148,13 @@
            return data; ;
        }
        private string ResponseDataLog(HttpResponse response)
        private async Task<string> ResponseDataLogAsync(HttpResponse response)
        {
            if (response.ContentLength <= 100000)
            {
                response.Body.Position = 0;
                using StreamReader stream = new StreamReader(response.Body, leaveOpen: true);
                string body = stream.ReadToEnd();
                using StreamReader stream = new StreamReader(response.Body, Encoding.UTF8, leaveOpen: true);
                string body = await stream.ReadToEndAsync();
                response.Body.Position = 0;
                return body;
            }