我正在尋找關於我正在構建的這個小系統的整體架構的一些指導。構建應用程序以定期在服務器上執行任務
目前,我有一個應用程序,通過xcopy部署(和更新)到幾個服務器。這適用於更新代碼,但它不適用於更新代碼執行的週期,因爲它設置爲每小時運行一次的Windows計劃任務。 xcopy替換效果很好,因爲我可以從本地機器運行更新,並將新的exe文件推送到所有服務器。接下來的一個小時,任務調度器將運行新的exe。
我想改變它以這種方式工作。
我的應用程序作爲Windows服務運行,並使用System.Threading.Timer等待給定的持續時間,然後執行代碼。這樣,進程的一部分可以檢查數據庫,並在必要時減少給定服務器的執行時間。
問題在那裏,是因爲.exe將作爲服務運行,它不會允許通過xcopy輕鬆更新,因爲該文件將始終處於使用狀態。
有關我應該如何設置這個以便能夠在作爲Windows服務運行時輕鬆執行xcopy更新的想法?這甚至可能嗎?
我正在從本地機器運行我當前的xcopy批處理文件,並將更新從我的機器推送到許多服務器。我想避免從服務器本身運行任何東西。 – Nate 2010-07-12 22:28:07
除了'net stop'外,您可以使用'sc'在遠程機器上啓動/停止服務。 – 2010-07-12 23:14:17
這意味着運行批處理文件的用戶需要權限才能停止服務器上的服務,對不對?所以我需要一個活動目錄帳戶? – Nate 2010-07-13 03:11:54