2013-02-28 102 views
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的計劃任務

請讓我知道如何在C#中實現這一點。如何創建Windows服務並要求該服務查看上述XML並在達到預定時間和日期時啓動程序?

回答

1

考慮使用調度程序如Quartz.net而不是構建定製的調度程序。它可以爲您節省一些時間和精力。

請注意,Quartz.net使用CRON風格的調度語法,它與您的XML不同。但它仍然是可配置的。

+0

我只能使用XML進行調度。請讓我知道你是否有任何其他想法。 – user004 2013-02-28 06:41:06

0

This tutorial來自CodeProject介紹瞭如何在C#中創建Windows服務。

我建議Quartz.net進行調度。如果您已經習慣使用自定義XML解決方案,並且使用.NET 3.5或更高版本,請參閱LINQ to XML

根據您希望執行該服務的程序(即像記事本這樣的GUI應用程序),您可能需要在Vista和更高版本上考慮Session 0 Isolation

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