2011-07-30 33 views
0

週に言及した日に私の窓のサービスを実行することができないことは言及した日にのみ実行する必要がありますのみどのように私は私の窓のサービスを行うことができますどのように

例:私の窓のサービスサービスは月曜日に実行する必要がある - 金曜日、残り土曜日と日曜日動的SERVICESが

いずれかがこれを行う方法を、この部分に私を助けることができます停止されるようにすべきである... >>>

+0

C#プログラミング関連の質問ではないと思います。アプリケーションのための簡単な「起動の呼び出し」を作成できるインターネットツールをチェックしてください。 – Tigran

答えて

4

あなたはwindow scheduler

この01を参照してくださいを使用する必要があります あなたが知りたい場合

0

申し訳ありません申し訳ありませんがあなたの質問を正しく理解していますが、私はWindowsでスケジュールされたプログラムを実行すると仮定しています。その場合、私はWindowsのタスクスケジューラに行くだろう。これはコントロールパネルにあります。

+0

私たちは後ろにコードで対処できませんか? – pravz

0

ロジックを単純なアプリケーションに移動し、Windowsのスケジュールされたタスクを使用して起動します。

+0

コードの後ろで処理できませんか? – pravz

1

私は生産でQuartz.Netを使用しています。私は使いやすさと信頼性に満足しています。基本的にサービスを継続的に実行させることができますが、好みのスケジュールで設定されたサービス内で特定のタスクを呼び出すことができます。

1

これをWindowsサービスで実際に実行したい場合は、System.Threading.Timerオブジェクトに、タイムフレームを確認するコールバックを設定する必要があります。

タイマーが、その後24時間ごと(86400秒)

protected override void OnStart(string[] args) 
{ 
    // this will start a timer when your service starts 
    // the 3rd argument will run DoStuff(object) immediately and again in 24 hours 
    timer = new System.Threading.Timer(new System.Threading.TimerCallback(DoStuff), null, 0, 86400 * 1000); 
} 

を実行するように設定したコールバックDoStuffで、一日、あなたはなぜ@pravzなど

public static void DoStuff(object objectState) 
{ 
    DateTime now = DateTime.Now; 
    if(now.DayOfWeek != DayOfWeek.Saturday && now.DayOfWeek != DayOfWeek.Sunday) 
    { 
     // do some stuff 
    } 
} 
0

を時間を確認することができますコードの背後にあることを尋ね続けますか?これはASP.NETアプリケーションですか?もしそうなら、あなたはその情報を使ってあなたの質問を書き直し、再投稿するべきだと思います。これまでのところ、実際にサービスを実行しているようには思えません。そのような方法でサービスを実行したい場合は、これまでに提案されているようにコードに書き込むことをお勧めします。それが単なるコンソールアプリなら、私はそれをスケジュールされたタスクに投げます。

関連する問題