2012-01-05 16 views
2

私は自分のサーバーの状態をチェックするASP.net Webアプリケーションを持っており、この情報をすべてラップして電子メールに入れます。私の質問どのように私は毎日午前2時のように自動的にこれを実行するのですか、または12時間ごとに好きですか?ASP.net c#Webアプリケーションを自動的に実行

おかげ

答えて

5

最善の解決策は、この仕事をする簡単なMS Windowsサービスを作成することです。

+1

+1この方法では、すべてのasp.netコードを保持し、サービスからページを呼び出すことができます。 – user1231231412

+0

はい、そうです。スケジューリングの手助けが必要な場合は、http://quartznet.sourceforge.net/でQuartz.Netを使用できます。 – Richard

4

これは、ASP.NETアプリケーションとは別のプロセスとして実装することをお勧めします。 Phil Haackは理由を要約してthis blog postにまとめました。たとえば、WindowsサービスやWindowsのスケジューラを使用するコンソールアプリケーションであっても、この作業にはうまくいきます。

0

WebDriverをご覧ください。

これはtest/qaフレームワークとして意図されていますが、コンソールアプリケーションでの使用を妨げるものは何もありません。このアプリケーションをスケジュールタスクとして実行できます。スケジュールされたタスクを実行するマシンがあれば、WebDriverが起動できるブラウザが必要です。

2

スケジューラが必要です - 私はQuartz.NETをお勧めします。

あなたのコードはウェブアプリにある必要はありません。

場合は、WebClientを使用するジョブをスケジュールして、Webアプリケーションに要求します。

0

最も簡単な解決策は、Windows Task Schedulerを使用してサーバーでスケジュールされたタスクを作成し、Internet Explorerを使用してWebページにアクセスするようにこのジョブを設定することです。

タスクスケジューラを開いて新しいタスクを作成した場合。

"C:\プログラムファイル\ Internet Explorerの\ IEXPLORE.EXE" "http://www.yoursite.com/yourpage.aspx" すると

"ファイル名を指定して実行" フィールドプットにフィールドプット "の開始":

"C:\プログラムファイル\ Internet Explorerの"

今、毎日午前2時に実行するには、このタスクを設定します。

+0

サーバーのデスクトップに新しいInternet Explorerウィンドウを開くだけですか? Internet Explorerの代わりに[wget](http://www.gnu.org/software/wget/)を使用するタスクをスケジュールする方が良いでしょう。 –

+0

インターネットエクスプローラを使用してウェブページにアクセスします。私はそれが窓を開くかどうかわからないが、ウェブページを訪れ終わったら何も残っていない。 – startupsmith

関連する問題