0

TPL を使用して、asp.net アプリケーションで 1,00,000 個の PDF を生成するなど、長時間実行されるプロセスを実行しました。コードは次のようになります。

private Task<ErrorList> GeneratePDF()
{
    return Task.Factory.StartNew(

        --pdf generation goes here....
    )
}

誰でも次のアクションを実行するのを手伝ってもらえますか:

  1. これまでに生成された PDF の数を UI に伝えたい。
  2. プロセスが完了したら、PDF 生成のすべての詳細を含む 1 つのポップアップ ページを表示したいと考えています。コールバックを書く方法が見つかりませんでした....
4

1 に答える 1

0

進行状況とステータスについて Web ページ/サービスをポーリングするアーキテクチャを使用するのが最善だと思います。
方法: 実行時間の長いタスクの送信とポーリングは、開始点の 1 つです。

別の例: Ajax プログレス バーを使用した ASP.Net MVC での非同期処理

TPL 関連のコールバック/進行状況レポートについては、次を参照してください:非同期タスクからの進行状況の報告

于 2012-03-17T17:52:51.153 に答える