2012-05-06 22 views
0

私は証券取引所についてasp.NET(C#)のウェブサイトを作っています。日曜日から木曜日まで10:00〜17:00の間に5分ごとに実行される予定のタスクを実行する必要があります。 (新しい株式価値の確認、データベースの更新、電子メールの送信) - それを実行する正しい/最良の方法は何か。コンソールアプリ/ dll /サービスで?スケジュールされたタスク:サービス/ DLL /コンソールアプリケーション

+1

これは、スケジュールされたタスクまたはWindowsサービス経由で実行されるコンソールアプリケーションです。小規模な作業では、プロジェクトでpowershellスクリプトを使用します(スケジュールされたタスクでも実行できます)。 –

+0

私はDLLでそれを行う方法を考えることができません。その他の2つのオプションは、タスクスケジューラを組み込んだコンソールアプリケーション、またはカスタムWindowsサービスで動作します。 –

答えて

0

5分ごとにアプリケーションを起動するために既存のタスクスケジューラを使用する理由があります。

タスクスケジューリングは、あなたがそれを避けることができれば再実装するものではないことが最も明白です。たとえば、時間修正(手動と自動の両方)に対処する必要があります。

さらに、明らかにC#の問題は少なくなりますが、ひどく書かれたアプリケーションは、シャットダウンするまで何らかの種類のリソースをリークさせる可能性があります。アプリケーションがタスクの完了時に終了することが予想される場合、オペレーティングシステムは一般にほとんどのリソースをクリーンアップすることができます。

しかし、アプリケーションをバックグラウンドで実行させたい場合があります。例えば、呼び出しの間に保存する状態が多いなど、長時間の初期化が必要な場合や、何らかのリアルタイムモニタが必要な場合があります。

関連する問題