2011-08-04 20 views
0

私は作業しているサイトを持っています。私は毎日何かを実行する必要があると言う... 30分、どのように私はちょうどそのように実行する簡単なものを得るだろうか?asp.netを使用してサーバーからスクリプトを実行しています

EDIT

私は別の会社で、このオンラインをホストすることがあります。これが私が別の予定されたプログラムとして作っていない理由です。

+4

まず、私はウェブサイトが定期的なバックグラウンドジョブを実行するための正しい選択ではないと言いますが、Windowsサービスを使用します。この目的のためにWebサイトを使用したい場合は、global.asaxのapplication_startイベントハンドラでスレッドを開始し、30分ごとにスリープしてからコードを呼び出します。 – Chandu

+0

「何か」とは何ですか?それがスクリプトの場合、どのスクリプトですか? –

+0

@Cyber​​nate、それは何のためだけではなく、サイトは実際のサイトです;)あいまいさについてはごめんなさい。これは私が推測する答えとして投稿してください:) – FreeSnow

答えて

4

プロセスをあらかじめ定義した間隔で実行する必要がある場合は、Windowsタスクスケジューラを使用する方が良い場合や、タイマーを使用してWindowsサービスを作成する方がよい場合があります。 ASP.NETアプリケーションは、再起動の脆弱性があり、一定の間隔でプロセスが実行されることを保証できないため、この種の処理には適していません。

2

Windowsのスケジュールされたタスクとサービスはこれには最適ですが、指定した時刻にデータベースクエリを実行する場合は、SQL Serverエージェントを使用することをお勧めします。

1

ASP.NETを使用して確実にこれを行う方法がわかりません。私の理解は:ある一定の時間が過ぎると、IISはあなたのウェブサイト/ websppをメモリからアンロードします。そのようなことが起こった場合、定期的なジョブは、それを構成するために使用した技術にかかわらず、実行されない可能性が非常に高いです。

もちろん、何らかの自動化システムを自分で設定することもできます。このシステムでは、サイトがアンロードされないように時々pingを実行します。しかし、とにかくそれをやっているのであれば、望みどおりの操作を行うために設定することができます。 :)

+0

待って、それを言う何かへの参照がありますか? :O – FreeSnow

+1

"...ワーカープロセスは、指定された非アクティブ期間後にシャットダウンします。アイドルタイムアウトの既定値は20分です。 http://technet.microsoft.com/en-us/library/cc771956%28WS.10%29.aspx – mikemanne

関連する問題