出于调试目的,我想查看我的 HTTP 请求的请求主体包含哪些内容。这是我现在得到的:
var httpResponseMessage = await _httpClient.PostAsync(uri, objectToInsert, jsonFormatter);
//This throws an exception
var thisDoesntWork = await httpResponseMessage.RequestMessage.Content.ReadAsStringAsync();
这会抛出一个 ObjectDisposedException
。如何查看请求正文以确保发送的 JSON 正确无误?
最佳答案
简短的回答是您不能在请求已经发送之后。 HttpClient 在发出请求后处理内容主体,以方便开发人员。参见 Why do HttpClient.PostAsync and PutAsync dispose the content?了解一些细节。
作为替代方案,您可以继承现有的 HttpContent 实现,覆盖 Dispose 方法,并在处理之前记录内容的主体。
或者,按照建议,使用外部工具来监控运行中的请求。
关于c# - 使用 HttpClient 如何查看请求内容主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39151972/