私は自分のサーバーの状態をチェックするASP.net Webアプリケーションを持っており、この情報をすべてラップして電子メールに入れます。私の質問どのように私は毎日午前2時のように自動的にこれを実行するのですか、または12時間ごとに好きですか?ASP.net c#Webアプリケーションを自動的に実行
おかげ
私は自分のサーバーの状態をチェックするASP.net Webアプリケーションを持っており、この情報をすべてラップして電子メールに入れます。私の質問どのように私は毎日午前2時のように自動的にこれを実行するのですか、または12時間ごとに好きですか?ASP.net c#Webアプリケーションを自動的に実行
おかげ
最善の解決策は、この仕事をする簡単なMS Windowsサービスを作成することです。
これは、ASP.NETアプリケーションとは別のプロセスとして実装することをお勧めします。 Phil Haackは理由を要約してthis blog postにまとめました。たとえば、WindowsサービスやWindowsのスケジューラを使用するコンソールアプリケーションであっても、この作業にはうまくいきます。
WebDriverをご覧ください。
これはtest/qaフレームワークとして意図されていますが、コンソールアプリケーションでの使用を妨げるものは何もありません。このアプリケーションをスケジュールタスクとして実行できます。スケジュールされたタスクを実行するマシンがあれば、WebDriverが起動できるブラウザが必要です。
スケジューラが必要です - 私はQuartz.NETをお勧めします。
あなたのコードはウェブアプリにある必要はありません。
場合は、WebClient
を使用するジョブをスケジュールして、Webアプリケーションに要求します。
最も簡単な解決策は、Windows Task Schedulerを使用してサーバーでスケジュールされたタスクを作成し、Internet Explorerを使用してWebページにアクセスするようにこのジョブを設定することです。
タスクスケジューラを開いて新しいタスクを作成した場合。
"C:\プログラムファイル\ Internet Explorerの\ IEXPLORE.EXE" "http://www.yoursite.com/yourpage.aspx" すると
"ファイル名を指定して実行" フィールドプットにフィールドプット "の開始":
"C:\プログラムファイル\ Internet Explorerの"
今、毎日午前2時に実行するには、このタスクを設定します。
サーバーのデスクトップに新しいInternet Explorerウィンドウを開くだけですか? Internet Explorerの代わりに[wget](http://www.gnu.org/software/wget/)を使用するタスクをスケジュールする方が良いでしょう。 –
インターネットエクスプローラを使用してウェブページにアクセスします。私はそれが窓を開くかどうかわからないが、ウェブページを訪れ終わったら何も残っていない。 – startupsmith
+1この方法では、すべてのasp.netコードを保持し、サービスからページを呼び出すことができます。 – user1231231412
はい、そうです。スケジューリングの手助けが必要な場合は、http://quartznet.sourceforge.net/でQuartz.Netを使用できます。 – Richard