C#记录HttpWebRequest请求有效负载和结果

时间:2019-07-05 19:00:24

标签: c# logging httpwebrequest httpwebresponse

我有一个c#项目,使用以下方法调用了一些外部API调用:

bool returnVal = true;

            HttpWebRequest request = null;

            request = WebRequest.Create(url) as HttpWebRequest;

            request.ContentType = "text/json";
            request.Method = "POST";

            using (
                System.IO.StreamWriter streamWriter = new System.IO.StreamWriter(request.GetRequestStream()))
            {
                var serializedData = JsonConvert.SerializeObject(data);
                streamWriter.Write(serializedData);
            }

            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            using (System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream()))
            {
                if (reader.ReadToEnd() != "true")
                {
                    returnVal = false;

                }
            }

我在整个应用程序的其他一些地方重复了类似的代码,但是我想要的是尽可能记录调用中的所有信息:

  • URLendpoint
  • 方法
  • ContentType
  • 有效负载(序列化数据)
  • 响应
  • 还有更多...
  

因此,我想遵循一种做法,甚至推荐采用数据库模式作为记录此调用的最佳实践。

谢谢

0 个答案:

没有答案