0
<Day>
 <Monday>true</Monday>
 <Tuesday>false</Tuesday>
 <Wednesday>true</Wednesday>
 <Thursday>false</Thursday>
 <Friday>true</Friday>
 <Saturday>false</Saturday>
 <Sunday>true</Sunday>
 </Day>
<Time>
 <time>17:18</time>
</Time>

上記のxmlを使用して、Windowsサービスを介して特定のタスクを実行します。例:Windowsサービスは、月曜日と日曜日の午後17時18分にメモ帳を開く必要があります。

C#でこれを達成する方法を教えてください。Windowsサービスを作成し、そのサービスに上記のXMLを調べて、スケジュールされた日時に達したときにプログラムを開始するように依頼するにはどうすればよいですか?

4

3 に答える 3

1

2 つの方法をアドバイスします。 1. XML の使用が重要でない場合は、Windows のスケジュールされたタスクを作成し、必要に応じて構成することをお勧めします。その後、構成されたスケジュールで実行されるコンソール アプリケーションを作成できます。2. XML を使用する必要がある場合は、たとえば 5 分ごとに実行される Windows サービスを作成できます。毎回 XML のコンテンツを読み取り、それをシステムの DateTime.Now と比較する必要があります。

Windows サービスの作成方法については、インターネットで多くの記事を見つけることができます。たとえば、これhttp://www.codeproject.com/Articles/14353/Creating-a-Basic-Windows-Service-in-C

于 2013-02-28T07:05:20.277 に答える
1

特注のスケジューラを構築する代わりに、Quartz.netのようなスケジューラを使用することを検討してください。時間と労力を節約できます。

Quartz.net は、XML とは異なる CRON スタイルのスケジューリング構文を使用することに注意してください。しかし、それはまだ構成可能です。

于 2013-02-28T06:35:13.703 に答える
0

CodeProject のこのチュートリアルでは、C# で Windows サービスを作成する方法について説明します。

スケジューリングにはQuartz.netをお勧めします。カスタム XML ソリューションの使用に夢中で、.NET 3.5 以降を使用している場合は、LINQ to XML を参照してください。

サービスで実行するプログラム (つまり、メモ帳などの GUI アプリケーション) によっては、Vista 以降でセッション 0 の分離を検討する必要がある場合があります。

于 2013-02-28T06:42:32.763 に答える