3

私の Web アプリケーション (ASP.NET 4.0) は、クライアント側からサーバーを呼び出します (AjaxPro ライブラリを使用しますが、違いはないと思います)。呼び出しは、サーバー上で長時間実行される可能性のあるタスクを開始しています。完了するまでに約 5 分かかる場合があります。今回は喜んで待っていましたが、何らかの理由で、正確に 90 秒後 (FireBug によると 2 分 60 秒) にリクエストが中断されました。Service Unavailable 503 メッセージを返します。これは、IIS (7.0) でアプリケーションをホストしている場合にのみ発生します。ASP.NET 開発サーバーの VS2010 からデバッグ モードで、ローカル PC で問題なく動作します (つまり、要求を中断せずに 5 分間すべて処理します)。

これまでにいくつかのことを試しました:

  • AjaxPro グローバル タイムアウトを増やしました: AjaxPro.timeoutPeriod = 1000000;
  • 次のように web.config ファイルを変更しました。

    <httpRuntime maxRequestLength="102400" executionTimeout="360" /> <sessionState timeout="60"></sessionState>

  • IIS Manager -> Sites -> My website -> Advanced Settings で、Connection Time-out (seconds) プロパティの値を増やしました。

ここに画像の説明を入力

  • アプリケーションのアプリケーション プール -> 詳細設定で、考えられるすべてのタイムアウトを増やしました。

ここに画像の説明を入力

  • サーバー側ハンドラーのコードで HttpContext.Current.Server.ScriptTimeout を増やそうとしました。

注意することが役に立ったようです。ASP.NET 開発サーバーでは正常に動作しますが、IIS に関しては、90 秒後に正確に要求が切断されます。

何か考えはありますか?

4

3 に答える 3

4

asp:ScriptManager には「AsyncPostBackTimeOut」と呼ばれる別のタイムアウトがあり、デフォルトで正確に 90 秒に設定されています。

于 2013-06-05T03:56:24.357 に答える
1

Webサーバーマシンのグローバルデフォルトを確認できますか?たぶん、構成があなたの要求をブロックします。

system32 \ inetsrv \ config \ applicationHost.config

于 2012-07-06T14:39:11.680 に答える
1

同様の問題があり、aspxページにAsyncPostBackTimeOut値を追加して解決しました1000(約17分):

            <asp:ToolkitScriptManager ID="ToolkitScriptManager1" AsyncPostBackTimeOut="1000" runat="server">
        </asp:ToolkitScriptManager>
于 2016-06-02T07:00:56.120 に答える