私は次のような状況があります:私は、テーブルの束からデータを取り、単一のテーブルにレコードを作成するストアドプロシージャを持っています。その後、エンドユーザーは、結果の表の行からのデータに基づいてグラフィックスを取得できます。問題は、複数のテーブルからのデータを結果として得られるデータに集めることは、非常に長い期間実行することができるということです。私は自分のWebアプリケーションから、このデータの収集を開始する可能性をユーザーに通知し、収集されたデータに基づいてグラフィックス図にアクセスできるようにするためにこれを通知する必要があります。私の質問は、これをベストプラクティスとして実装する方法です。asp.net Webアプリケーションへのフィードバックを使用してSQLデータを収集
答えて
サーバーでバックグラウンドスレッドを開始して処理を行います。処理結果は、session state、データベース、またはその他の場所に格納できます。
クライアント側では、UpdatePanelとTimerを使用して定期的にサーバーの結果をポーリングします。結果が表示されたら、タイマーを無効にします。
私はAndomarが示唆したようなものをやっていますが、asp.netプロセスのスレッドではなくWindowsサービスで行います。
まず、作業キューとして使用するデータベースをデータベースにセットアップします。結果テーブルで十分でしょうか?この表には、ジョブ固有のID、ジョブ記述(サービスによって何をすべきかを判断するために使用される)、およびジョブ状況コード(新規、作業中、終了済み)が含まれます。
次に、このテーブルを定期的にポーリングするWindowsサービスアプリケーションをセットアップします。たぶんあなたの負荷に応じて5〜30秒ごとに頻繁に。このサービスは簡単です:新しいジョブが見つかった場合は、最初のジョブを「作業中」としてマークし、データ収集プロセスを実行します。プロセスが完了すると、サービスは完了したとマークします。
最後に、私のasp.netアプリケーションで、ユーザーが新しいデータ収集ジョブを要求できるジョブオーダーページをセットアップしました。要求は、新しいレコードを状態として新規のジョブキューテーブルに挿入し、必要に応じてジョブ記述を挿入する。その後、ページはユーザーにジョブのステータスをチェックし、XX秒ごとにリロードしてジョブが完了したかどうかをチェックする新しいページ(またはajaxを使用)にリダイレクトされます。ジョブステータスコードが完了すると、ユーザーがレポートを表示したり、ファイルをダウンロードしたりできるページが表示されます。
私がここで提案するのは、ポーリングベースのジョブキューの単純な実装です。もちろん、MSMQなどを使用してより美しいバージョンを作成することもできますが、ほとんどの場合そう多くはありますが、これで十分です。
- 1. asp.netのWebページでjsonデータを収集する方法
- 2. SQL認証を使用したASP.NET WebアプリケーションでのSQLデータ監査
- 3. データ収集にSQLiteを使用する
- 4. ASP.NET WebアプリケーションからASP.NET WebサービスからSQL Serverへの認証
- 5. データを収集して渡す方法
- 6. jetbrains変数を使用したnode.jsのデバッグ 'データの収集中...'
- 7. Azure Webジョブを使用したデータのAzure SQLへのインポート
- 8. ツイッター検索APIを使用したデータの収集
- 9. SQLステートメントの収集
- 10. データの収集:ダイナミックテキストボックス
- 11. データ収集のUITableViewCell
- 12. Web APIフォームデータ収集
- 13. ウェブブラウザを使用したシステムプロパティの収集
- 14. データを収集して埋め込み可能なPDFにデータを集めるためのWebベースのフォーム
- 15. 複数の変数を使用してMySQLデータを収集する
- 16. スレッドプールを使用してWebページからリンクを収集するjava
- 17. チェックボックスリストからデータを収集
- 18. SAXデータ収集デザインパターン
- 19. クリックハンドラのコールバック関数へのデータ収集の参照を渡す
- 20. ASP.Net - 私のデータ層としてSQLにlinqを使用して?
- 21. ASP.NET WebアプリケーションでのWebサービスの使用
- 22. eclipseからUDC(使用量データ収集)をシャットダウンする方法
- 23. Asp.netのデータRowfilter? Webアプリケーションで
- 24. ASP.NET Web APIを使用して多対多リレーションシップレットへのHTTP POST
- 25. ASP.NET Web APIアーキテクチャの提案/フィードバック
- 26. MATLABでのレンジセンサとデータ収集ハードウェアの使用
- 27. 複数のソースからのデータ収集とローカルデータベースへの保存
- 28. JavaScriptを使用してページから価格を収集
- 29. GSMサービスを使用してasp.net WebアプリケーションのSMSサービス
- 30. 複数のソースからデータを収集