.net Framework 4.7.2 сломал httpclient - PullRequest
0 голосов
/ 11 мая 2019

Мой проект ASP.NET MVC использовал HttpClient.PostAsync () для публикации на конечной точке webAPI.Все хорошо, пока я недавно не обновил проект до .NET Framework 4.7.2.Теперь вызов завершится с HTTP-статусом 405 (метод не разрешен).Однако конечные точки с [HTTPGet] работают.В отчаянной мере я устанавливаю контроллер API с помощью [EnableCors (источник: "", заголовки: "", методы: "*")] и вызываю конечную точку с тем же доменом и портом (localhost toлокальный).Я даже вернул проект на 4.6.1.Это все равно выдает ошибку 405.Не могли бы вы помочь?Спасибо.

public static async Task < T > Post < T > (string baseUrl, string urlSegment, HttpContent postContent) {
  string responseContent = string.Empty;
  Uri returnUrl = null;

  using(HttpClient client = GetClient(baseUrl)) {
    HttpResponseMessage response = await client.PostAsync(urlSegment.TrimStart('/'), postContent).ConfigureAwait(false);
    if (response.IsSuccessStatusCode) {
      returnUrl = response.Headers.Location;
    }
    return JsonConvert.DeserializeObject < T > (returnUrl.ToString());
  }
}

1 Ответ

0 голосов
/ 19 мая 2019

Оказалось, что путь к конечной точке WebAPI был изменен. Кроме того, я отменил коммит GIT для отката до версии перед обновлением до DotNet Framework 4.7.2, а затем выбрал все коммиты после обновления 4.7.2.

...