2012-05-16 28 views
0

我想要一個業務流程線程連續運行在.net。我可以考慮製作一個連續運行的窗口服務。 如果此服務失敗,我想要爲管理員的基於Web的控制。不間斷運行業務流程

問題1:如果此服務無法通過基於Web的應用程序進行檢查(我可以使用命令提示符檢查SC命令,但是如何將其移至基於Web的環境)。

問題2:我正在考慮通過使用while(true)循環使服務持續運行。這是解決這個問題的正確方法嗎?

問題3:我如何確保只有一個實例在時間運行?

回答

0

問題1:看here

問題2:不是一個好主意。服務在做什麼?通常它會觸發一個像Filesystem Watcher這樣的事件,或者休眠一段時間並喚醒以執行必要的任務。

問題3:Windows服務與其他可執行文件不同,因爲如果只安裝一個服務,則只有一個服務副本。根據需要啓動並停止它。

+0

嗨bukko你解決了我的第一個問題。亞第二個問題是它的觀察者,但它不是文件系統觀察者,而是數據庫觀察者。我想在數據庫更新後立即讀取文件。但simillar時間我不想處理多個文件作爲文件中的數據是按增量順序,所以我應該遵循什麼方法 –

+0

聽起來像你要麼在數據庫中需要觸發器,要麼它不需要是即時的,也許基於計時器的Windows服務。你的邏輯能否構建到數據庫中?如果不是,你使用SQL Server嗎?也許可以從觸發器中調用程序集中的函數。 – CompanyDroneFromSector7G

+0

我如何確保只有在處理完第一個文件之後,我纔會去另一個文件(因爲數據是增量的)?如果我更新鎖定某個地方,即時通訊正在讀取一些文件,並沒有更新該鎖定,在這種情況下,它會產生問題...如果我使用計時器,我將不得不確保我在該時限內完成我以前的任務 –

0

問題1:爲什麼不使用異常處理火了一封電子郵件,或寫,你可以轉換使用XSLT

問題2的XML文件:該服務可以運行應用程序每30分鐘一班。您的服務持續運行是什麼意思?

問題3:您可以將檢查代碼,以檢查是否有另一個實例運行,請參閱單例模式

+0

您好,我的問題是我需要以最快的方式做出迴應。所以我需要有東西,要麼監視或聽,並在幾秒鐘內執行行動,所以我保持在連續循環..你能告訴我在哪裏可以尋找singletone模式,因爲我必須處理文件一個接一個作爲在文件中的數據是按增量順序...謝謝:) –