ERR_INVALID_HTTP_RESPONSE с использованием Angular 7 и ASP.Net Core 2.2 в браузере Google Chrome - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть приложение, которое использует Angular 7 для внешнего интерфейса и ASP.Net Core 2.2 для обслуживания API.Когда я отправляю запросы POST или PUT с помощью браузера Google Chrome, я получаю ошибку ERR_INVALID_HTTP_RESPONSE.

Когда я понижаю версию .Net Core до версии 2.1, все отлично работает

Также, когда я тестирую свое приложение в Firefox, снова все работает нормально!

Я не знаю, как решить эту проблему

Я использую Google Chrome версии 71

Когда я проверял вкладку «Сеть» в Google Chrome, я обнаружил, что Chrome также отправляет предварительный запрос на сервер ...

Вот что записано на вкладке «Сеть»:

Первое:

Request URL: http://localhost:12346/api/XXXX
Request Method: OPTIONS
Status Code: 204 No Content
Remote Address: [::1]:12346
Referrer Policy: no-referrer-when-downgrade

Тогда: (что вызывает ошибку)

Request URL: http://localhost:12346/api/XXXX
Referrer Policy: no-referrer-when-downgrade

Как вы видите, chrome не отправляет на сервер запрос POST (который должен отправлять).

1 Ответ

0 голосов
/ 31 декабря 2018

Это может быть связано с ASP NET Core 2.2, как вы и предполагали.В GitHub https://github.com/aspnet/AspNetCore/issues/4398

зарегистрирована проблема, и обходной путь следующий: добавьте следующий бит кода в ваш класс startup.cs (я сохранил это первым в Configureметод)

app.Use(async (ctx, next) =>
{
  await next();
  if (ctx.Response.StatusCode == 204)
  {
    ctx.Response.ContentLength = 0;
  }
});

Следите за проблемой GitHub.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...