0

ASP.Net アプリの起動時に「x」分ごとに実行するメソッド「ProcessBatch ()」を起動したいと思います。

このためのコードを Application_Start イベントに追加する必要があると思います。

これを行う最善の方法は何ですか? Web サイトでアプリ プールがリサイクルされたときに、実行中のスケジュールされたタスクが Web 要求として扱われ、完了できるようになりますか?

4

2 に答える 2

0

また、サイトがホストされている場所によっては、そのプロバイダーのスケジュールされたタスク システムを使用できる場合があります。Azureには、RackspaceCloud とDiscountASP.NETもあります。

于 2013-05-24T06:44:25.583 に答える
0

Web サーバーで「x 分ごと」に実行されるスケジュールされたタスクを作成することはできません。

一部の人々は、時々サイトに ping を送信するクライアント コンピューター上で実行されるサービスを作成します。ただし、そのためには、そのクライアントが稼働している必要があります。

あなたが言うように、1つの回避策は Application_Start イベントですが、アプリケーションは数分以上実行される場合があります。それがいつなのか、私たちは実際には知りません。

Session_Start イベント (新しいユーザーがいずれかのページを開くたび) や、独自の HttpModule を作成する場合は BeginRequest イベントなど、別の場所でタスクを実行できます。

これらのイベントでは、サイトに膨大なユーザーの負荷がかかっている場合に、タスクが最後に実行された時間を覚えておくことができます (静的または ApplicationState など)。

お役に立てれば?

于 2013-05-24T06:34:46.663 に答える