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
リクエストをサーバーに送信しません(送信する必要があります)。
これは、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の問題を追跡してください。