2013-07-03 67 views
-1

我目前有一個程序,按計劃運行並且每半個小時運行一次。但我想在後臺連續編程運行。我現在可以使用while循環和一個線程來完成它,我可以使用Windows任務調度程序來完成它。由於我從各種api中提取數據,並且他們有層次結構,所以他們可以在任何時候拋出異常,所以目前我的系統拋出異常並進行下一個方法,因此某些數據不能提取所有數據,但如果我們在它將離開它的時候使用。所有數據必須被提取出來的時候,API的數據庫纔會被提取出來,所以我希望它能夠繼續檢查數據庫以查看是否需要提取任何客戶端數據。如果當時需要提取客戶數據,那麼它開始提取。我現在的系統已經像Windows調度程序一樣工作了。在沒有while循環或Windows調度程序的背景下運行程序

+1

你的問題是什麼? –

+0

您可以使用計時器。但是一個計時器就像一個while循環。 – Tan

回答

1

您可以使用DateTime.Now.TimeOfDay獲取一個固定時間,並在該函數內製定一個計劃,該計劃會在每天timeofday函數達到該時間時運行該程序。您仍然必須使用if語句:

if(DateTime.Now.TimeOfDay ==您設置的時間) run program;

+0

這與使用Windows任務調度程序有什麼不同? – DGibbs

+0

從閱讀他的問題我明白,他不能使用一個while循環或Windows任務調度器,所以這將是沒有使用這兩個任務相同的東西。 – Llama

+1

沒錯,但似乎他已經有了這樣的東西'我現在的系統已經像Windows調度程序一樣工作了'而且,他希望它每隔半小時運行一次,這將如何實現?坦率地說,我認爲這是一個很糟糕的問題,沒有足夠的信息來回答。 – DGibbs

1

您可以爲您的任務創建Windows服務,並且還可以處理與您的數據庫相關的異常。