ストアドプロシージャを1時間ごとに実行し、Global.asaxファイルにタイマーを作成してデータセットをアプリケーション(dropdrownまたはasp.netコントロール)にロードする必要があります。
この種の開発は非常に新しいので、誰でもコードを投稿するか、コーディングで行う必要がある正確なフローとasp.netコントロール(ドロップダウンまたはリストコントロール)をロードする方法を提供してください。
前もって感謝します、
ストアドプロシージャを1時間ごとに実行し、Global.asaxファイルにタイマーを作成してデータセットをアプリケーション(dropdrownまたはasp.netコントロール)にロードする必要があります。
この種の開発は非常に新しいので、誰でもコードを投稿するか、コーディングで行う必要がある正確なフローとasp.netコントロール(ドロップダウンまたはリストコントロール)をロードする方法を提供してください。
前もって感謝します、
ASP.NET は、この仕事に適したツールではありません。
Web アプリケーションは、設計上、要求応答システムです。リクエストをリッスンし、それらのリクエストを処理して、レスポンスを返します。その範囲外では、アプリケーションが実行されていないと想定する必要があります。(実際、IIS はさまざまな理由でアプリケーションをシャットダウンし、新しい要求で再びアプリケーションを起動する可能性があります。)
スケジュールされたタスクに必要なのは、おそらくWindows Serviceです。これは、サーバーのバックグラウンドで実行するように設計されています。タイマーを含めるのは非常に簡単で、そのタイマーの tick イベントに応答してタスクを実行できます。
考えてみると...タイマーが作動すると、Web アプリケーションは何をするでしょうか? バックグラウンドプロセスを実行していて、実際にWebリクエストに応答していない場合、どのように「データをasp.netコントロールにロードする」のでしょうか? ページが要求されていなければ、ユーザーに表示するページはありません。
これが機能すると私が想像する方法は、Windows サービスがデータを読み取り、ビジネス ロジックを実行してそのデータを変換し、変換されたデータをデータベース内の別のテーブルまたはテーブル セットに書き込むことです。Web アプリケーションは、そのページにコントロールを設定するときに、常にその他のテーブルまたはテーブルのセットを参照します。基本的に、Web アプリケーションは、データを変換するバックエンド プロセスを認識しません。最新の変換されたデータが何であるかを示すだけです。
このようなタスクのスケジューリングは、aspx アプリケーションの適切な用途ではありません。
ただし、試すことができるいくつかのハック/回避策があります。
http://www.codeproject.com/Articles/12117/Simulate-a-Windows-Service-using-ASP-NET-to-run-sc
http://www.west-wind.com/weblog/posts/2007/May/10/Forcing-an-ASPNET-Application-to-stay-alive
http://www.mikesdotnetting.com/Article/129/Simple-task-Scheduling-using-Global.asax
Windows サービスを作成するか、組み込みの Windows スケジューラを使用することをお勧めします。