前提・実現したいこと
Y.Hさまのご指摘のおかげで、原因は判明致しました。
<追加の質問>
知識が乏しく、大変恥ずかしいのですが、IISの設定で、プロキシサーバのタイムアウト時間を変更することは、できるのでしょうか。
なんとなく、プロキシサーバより先に存在するwebサーバにそのような設定ができるとは思えないですが、IISの設定で解決できると、プログラムの修正は行わなくて済むかなと思った次第です。
<前回の質問>
時間のかかるwebAPI(90秒以上かかる処理)をajaxでpostで呼出しを行うと、きっちり90秒で、502 bad gatewayエラーとなります。
サーバでの処理は、引き続き行われており、再度アクセスするとデータは登録されています。
実現したいことは、タイムアウト時間を伸ばしたいです。
どうか、お力を貸して頂けると助かります。
【動作環境】
IIS 7.0
ASP.net C# (MVC)
jquery
発生している問題・エラーメッセージ
502 bad gateway
該当のソースコード
javascript $.ajax(url, { type: 'POST', contentType: 'application/json; charset=utf-8', data: JSON.stringify(updateData), timeout:0 }) .done(function (reply) { if (reply.error) { alert(reply.error); return; } }) .fail(function () { alert('connection error'); ←ここで、502エラー受信 }) .always(function () { }); サーバ [HttpPost] public ContentResult test(string number) { System.Threading.Thread.Sleep(120*1000); var content = "{}"; return new ContentResult { Content = content, ContentType = ContentTypes.Json, }; }
試したこと
IISの設定のデフォルトタイムアウトが90秒のものは、一通り2分ぐらいに変更して試してみましたが、90秒で502エラーとなります。
・呼び出したwebAPIの先頭処理にて、Server.ScriptTimeoutに、200秒を設定
・IISのexecutionTimeoutを変更
・IISのshutdownTimeoutを変更
・IISのアプリケーションプールのPingの有効化を無効
・IISの構成エディタ「system.webServer/asp」のScriptTimeoutを変更
回答1件
あなたの回答
tips
プレビュー