web-dev-qa-db-ja.com

ERR_INVALID_HTTP_RESPONSE using Angular 7 and ASP.Net Core 2.2 in Google Chrome browser

Angular 7、APIにサービスを提供するためにASP.Net Core 2.2を使用しているアプリケーションがあります。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リクエストをサーバーに送信しません(送信する必要があります)。

7

これは、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の問題を追跡してください。

9
AD8