0

私はしばらくの間問題を調査してきました - どんな助けでも素晴らしいでしょう.

簡単に言えば、バックグラウンドでasp.netプロセスを実行する必要があるため、現在ポストバックすると、数分間処理が行われます。バッチ プロセスのポストバックで別のプロセスをフォークして返すという標準的なアプローチを試みましたが、バッチ プロセスは処理に ASP.NET コントロール (具体的には ReportViewer) を使用します。これは、別のスレッドで実行できないことを意味します。この問題を解決するにはどうすればよいですか?これは、バッチ モードでレポートを生成できないということですか?

妥協点として、ポストバックがジョブの完了を待っている場合は満足しています.しかし、クライアントにステータスを表示したい.このために、ポストバックがオンになっている間に、サーバーに ajax 呼び出しを行ってステータスを取得しようとしました.しかし、問題は単一のスレッド (UI) のみを使用できるセッション。そのため、ajax 呼び出しを行うと、ポストバックが終了してスレッドが解放されるのを待ちます。

これは単純で明白な要件であるため、私は頭が痛いです

ありがとう

4

1 に答える 1

0

ここに画像の説明を入力私の最初の考え。

バックグラウンド スレッドをスピンオフして HTTPContext を渡すことはできますか? 次に、プライマリ スレッドがビジーである間に、クライアントに応答を送信できますか?

しかし、この記事ASP.NET 2.0 の非同期ページには、より適切なパターンがあるかもしれません。

于 2012-06-07T08:30:29.027 に答える