0

これは以前に尋ねられたことは知っていますが、既知の解決策をすべて試しましたが、まだうまくいきません。約 26MB の JSON を返すリクエストがあります。Azure Web アプリで 502 を返しています。ここで説明されているように、maxRequestLength と maxAllowedContentLength を最大許容値に設定しました。

IIS7 で実行中に maxAllowedContentLength を 500MB に設定するにはどうすればよいですか?

また、webapp のサイト フォルダーに applicationHost.xdt を設定し、ここで説明されているように適用されていることを確認しました。

Azure Web Apps の ApplicationHost.xdt

それにもかかわらず、私の要求は毎回正確に 4 分でタイムアウトします。Azure SQL データベースを指す iisexpress で実行されているローカルホストに対して同じ要求を実行すると、データが返されるので、これが Azure Web アプリケーション固有のものであることがわかります。

Web アプリの「App Service Logs」セクションですべての種類のログを有効にしました。セッションの有効期限が切れると、401 の他の失敗した要求トレースが表示されますが、この要求は失敗した要求トレースまたはアプリケーション エラーをログに記録しません。ライブ ログ ストリームでは、リクエストが Web サーバー ログに 200 レスポンスとして表示されます。

他のアイデアはありますか?

4

1 に答える 1

1

詳細な質問と、既に試した解決策を共有していただきありがとうございます。WebApp で「常にオン」機能がオンになっているかどうかわかりません。これにより、このようなタイムアウトエラーが発生する可能性があるため、有効にして、さらに調査するためにお知らせください。

追加情報として、Azure Load Balancer の既定のアイドル タイムアウト設定は約 4 分 (230 秒) です。これは、230 秒後にクライアントが切断される一般的なアイドル リクエスト タイムアウトです。ただし、コマンドはその後も引き続きサーバー側で実行されます。一般的なシナリオでは、これは通常、Web 要求に対する妥当な応答時間の制限です。このようなシナリオでは、非同期メソッドを調べて、追加のレポートを実行できます。別のオプションとして、WebJobs または Azure Functions があります。

「常時オン」構成がオンになっていない場合は、オンにしてください。AlwaysOn は、トラフィックがない場合でもアプリのロードを維持するのに役立ち、アプリケーションの ROOT にリクエストを送信します。/ に要求が行われたときに配信されるファイルが何であれ、ウォームアップされるファイルであり、この機能は App Service プランに付属しており、別途課金されることはありません

1) Azure ポータルから WebApp に移動します。

2) [設定] > [構成] > [一般設定] を選択します。

3) [常にオン] の場合、[オン] を選択します。

于 2019-12-20T05:17:13.097 に答える