Код: Выделить всё
var httpRequestMessage = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri($"{this.options.Value.OurInternalObjectProperty}{this.licenseKey}&Content-Type=application-JSON"),
Headers =
{
{ HttpRequestHeader.Accept.ToString(), "application/json" },
{ "token", this.licenseKey },
{ "projectName", this.options.Value.OurInternalObjectProperty }
},
Content = new StringContent(JsonConvert.SerializeObject(ourObjectParameter))
};
using (var response = await this.httpClient.SendAsync(httpRequestMessage))
{
if (response.IsSuccessStatusCode)
{
var result = await this.DeserialiseObject(response);
return Task.FromResult(result).Result;
}
else
{
var requestHeaders = $"token: {this.licenseKey}, projectName: {this.options.Value.OurInternalObjectProperty }";
var requestBody = await httpRequestMessage.Content.ReadAsStringAsync();
var responseBody = await response.Content.ReadAsStringAsync();
this.logger.LogWarning(message: $"Our error message");
throw new OurCustomExceptionClass(responseBody, (int)response.StatusCode);
}
}
Что меня беспокоит, так это то, что вместо этого исключения код теперь бросает систему. httprequestmessage.content.ReadAssTringAsync () . Полное сообщение об ошибке: < /p>
'не может получить доступ к утилизируемому объекту. Имя объекта: 'System.net.http.StringContent'. '< /P>
< /blockquote>
Так что я обеспокоен тем, как было изменение в том, как ручка System.net.http и сохраняет запросы между 4,7 и 4.8, которые могут быть эффективными при активном использовании. Это то, о чем мне нужно беспокоиться для живого использования, или я могу просто исправить тест и двигаться дальше?
Подробнее здесь: https://stackoverflow.com/questions/794 ... m-net-http
Мобильная версия