1

ポストバック(ボタンクリック)で数分の処理を行うab asp.netフォームがあります。これは理想的ではありませんが、Reqd専用モードのコントロールreportviewerを使用しているため、非同期スレッドでこのプロセスを実行することはできません。非プライマリスレッド。

プロセスが進行しているときにこの制限があるため、クライアントでのステータスを表示したいと思います。このために、サーバーへのAjaxリクエストを起動して処理ステータスを取得できますが、セッションのASP.NETプライマリスレッドはreportviewerコントロールを使用してレポートをレンダリングするのに忙しいため、Ajaxリクエストはすべての処理が終了するまで待つだけです。定期的にプライマリスレッドの制御を放棄して取り戻す方法はありますか?これにより、ajaxリクエストに応答できるようになります。

私はしばらくの間この問題を調査してきました。必要なのは、ReportViewerコントロールを使用して一連のレポートをバックグラウンドでレンダリングし、クライアントでフィードバックを提供することだけです。

ありがとう

4

1 に答える 1

0

それは意味がありません。ブラウザーからの新しい AJAX 呼び出しは、スレッド プール内の使用可能なスレッドのいずれかによって処理されます。

フォームをどのように投稿していますか?レポートを生成するには、AJAX リクエストを使用してプロセスを開始する必要があります。そうしないと、通常のフォーム ポストからの戻りを待ってブラウザがロックされます。これにより、ステータスを確認するための追加のクライアント側呼び出しが禁止されます。

于 2012-06-13T06:08:18.003 に答える