2009-03-26 9 views
1

asp.net 2.0では、C#。asp.net他のページからのスレッドの監視

ページからスレッドを開始することはできますか?たとえば、asp:ボタンをクリックし、別のページからそのスレッドが終了したかどうかを確認するなどです。

理由:ボタンをクリックすると、長いサーバー側スクリプトを開始するページがあります。しかし、そのページのスクリプトの終了を待たずに、スクリプトを実行するスレッドを作成してスレッドIDを取得し、毎回最新の確認を行う「しばらくお待ちください」ページでユーザーをリダイレクトすることを考えましたスレッドが終了したかどうかを5秒間確認します。

どのように達成するための良いアイデアですか?

ありがとうございました!

答えて

0

これを行うことができますが、Ajaxを使用してより良いエクスペリエンスを実現します。

基本的には、メソッドを呼び出すと、スレッドの識別子が返されます。スレッドIDである必要はありませんが、ページ/呼び出しの間に渡すことのできる一意の識別子が必要です。

そのコール/ページから戻る前に、スレッドを実行します。

クライアントがステータスをチェックすると、セッションやその他の共有状態がチェックされ、以前に返されたIDに結果が反映されます。

キーに対応する値を検出すると、結果が表示され(共有状態から結果が削除されます)、指定されていない場合は、指定した時間内に再度チェックされます。

0

ASP.NETには、このようなことを行うためのアプローチが既に用意されています。これは非同期ページモデルです。これを実現するには2通りの方法があり、それらの詳細についてはすべてhereを参照してください。

関連する問題