[ad_1]
3.92 MB ファイルをアップロードした後、サーバーで 504 ゲートウェイ タイムアウト エラーが発生します
しかし、レコードはテーブルに正常に挿入されました
ウェブサーバーとアプリサーバーが 1 つずつあります
ウェブサーバー上:
– Excel ファイルを読み込んでおり、それをデータ可能に変換して Excel に保存しています
別のフォルダーに移すのはほとんどかかりません 1分20秒
– 次に、次のコードを使用してそのデータテーブルをアプリサーバーに渡しました
sProposal = Task.Run(async () => { UploadDetails x = await webAPIClient.CallWebAPI<UploadDetails, DataTable>(dataTable, ConfigurationManager.AppSettings["Url"].ToString()); return x; }); }
アプリサーバー上
– datatableを取得し、sqlbulkcopyに渡し、tableに挿入します。ほとんど取得できない成功メッセージのみを返します。 1分数秒
以下は私のweb.configです
<location path="upl"> <system.web> <!--The default size is 4096 kilobytes (4 MB). MaxValue is 2147483647 KB (2 TB)--> <!-- 100 MB in kilobytes --> <httpRuntime maxRequestLength="2147483647" /> </system.web> <system.webServer> <security> <requestFiltering> <!--The default size is 30000000 bytes (28.6 MB). MaxValue is 4294967295 bytes (4 GB)--> <!-- 100 MB in bytes --> <requestLimits maxAllowedContentLength="4294967295" /> </requestFiltering> </security> </system.webServer> </location>
maxRequestLength、maxAllowedContentLengthも増加させましたが、それでもサーバー上で504ゲートウェイタイムアウトが表示されました
ただし、レコードは正常に挿入されました (合計 45,345 レコード)
私が試したこと:
また、maxRequestLength、maxAllowedContentLength、およびプロファイルコードを増やします。どのコードに時間がかかりますが、それでも504エラーが発生します
解決策 1
リクエストの最大長はタイムアウト エラーとは関係ありません。 大きすぎるファイルをアップロードしようとすると、404 エラーが発生します。 いいえ タイムアウトエラーです。
引用:Excelファイルを読み込んでデータ可能に変換し、Excelを別のフォルダーに保存します。1分20秒もかかりません。
…
datatableを取得してsqlbulkcopyに渡し、tableに挿入し、成功メッセージのみを返しますが、1分数秒はかかりません
したがって、合計実行時間は 2 分 20 秒を超える、つまり 140 秒以上になります。
デフォルトの実行タイムアウトはアプリケーションによって異なります。
。ネットフレームワーク:
Web フォームと同期 MVC アクション: 110 秒。
非同期 MVC アクション: 45 秒。
.NETコア:
120秒。
これらの数値はすべて、コードの実行にかかる時間の長さをはるかに下回っています。
コードをより速く実行できない場合は、実行タイムアウト制限を増やす必要があります。
。ネットフレームワーク
Web フォームと同期 MVC アクション:
web.configで、設定します configuration/system.web/httpRuntime/@executionTimeout
必要な秒数に – 例: 300
非同期 MVC アクション:
追加 AsyncTimeout 属性[^] アクションに追加し、必要なミリ秒数を指定します。例: [AsyncTimeout(300_000)]
.NETコア
web.configで、設定します configuration/system.webServer/aspNetCore/@requestTimeout
必要な時間まで – 例: 00:05:00
。
解決策 2
これは昨日投稿した質問と同じです ASP.NET でファイルをアップロード中に 504 ゲートウェイ タイムアウト エラーが発生する[^]。 再投稿しないでください。 追加情報がある場合は、を使用してください 質問を改善する 元の投稿にリンクを追加し、何が機能していないのかについての完全な詳細を追加します。
[ad_2]
コメント