2009-07-27 9 views
0

IIS7にあります。IIS 7で無効なメソッドを呼び出し、返すのを待たずに

私はページ上にボタンがあります。

私がクリックすると、新しいスレッドが開始され、voidメソッドが呼び出されます。完了までに20〜30分かかります。

問題は、コントロールがブラウザに返されるとすぐに実行を停止します。 (少なくともそれに見えます)

このように動作するか、制御をブラウザに戻して続行する必要がありますか? メソッドを呼び出し、完了するのを待たない別の方法はありますか?

+0

なぜ実行が停止しているようですか?あなたは何を観察しましたか?スレッドで何をしようとしていますか? – Guffa

+0

コントロールがページに戻ったらすぐに開始したスレッドが終了したようです。 – Matt

+0

サーバーで長い時間がかかる(インデックス作成)何かをしようとしています – Matt

答えて

1

あなたのメソッドは、スクリプトのタイムアウトで停止していると思います。それを修正する方法はいくつかあります:

  1. スクリプトタイムアウトを増やしてください。長い操作でアプリケーションプールスレッドがロックされ、他の要求を処理できないため、私はこれをお勧めしません。しかし、あなたは試すことができます:) http://www.devx.com/vb2themax/Tip/18803
  2. 非同期メソッドを使用します。 http://msdn.microsoft.com/en-us/magazine/cc163725.aspx
  3. ワークフローhttp://msdn.microsoft.com/en-us/magazine/2009.01.longrunwf.aspx
  4. プロセスをAjaxリクエストでWebサービスに実行し、サービスをポーリングして実行ステータスを確認します。
関連する問題