如何解决无法访问已处置的对象CopyToASyncms
我刚刚打了电话,我有请求和响应。我有一种方法,我试图在数据库中记录请求并放置主体,因为我只是在构建请求和响应主体。
internal static async Task<string> GetBodyForLoggingAsync(this HttpRequestMessage request)
{
return await GetBodyForLoggingAsync(request.Content);
}
private static async Task<string> GetBodyForLoggingAsync(HttpContent content)
{
if (content == null)
{
return null;
}
string requestBody = null;
var contentType = content.Headers.ContentType;
if (contentType == null || _contentTypesWhereBodyIsLogged.Contains(contentType.MediaType))
{
try
{
Debug.WriteLine(" ---- GETTING BODY CONTENT");
using (var ms = new MemoryStream())
{
try
{
await content.CopyToAsync(ms).ConfigureAwait(false);
ms.Seek(0,SeekOrigin.Begin);
using (var sr = new StreamReader(ms))
{
requestBody = sr.ReadToEnd();
}
}
catch (Exception ex)
{
var test = ex;
}
}
}
catch (Exception ex)
{
var test = ex;
}
}
}
我收到错误消息,无法访问content.CopyToAsync()方法中的POST和PATCH调用,如果我从邮递员进行了相同的调用,则得到此消息,但我没有得到此错误。我知道get呼叫中没有使用body,只是我在检查。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。