我正在開發一個分佈式應用程序,其中每個分佈式站點將運行基於2層winform的客戶端 - 服務器應用程序(有沒有進入Web架構的具體原因)。本地應用程序服務器將負責與中央服務器通信,本地工作站將與本地服務器進行通信。使用C開發Windows服務的建議#
我即將開發一個或多個windows服務來實現以下目標。我認爲其中一些將在本地服務器上運行,而另一些則在本地工作站上運行。中央服務器僅僅是一個SQL Server數據庫,所以沒有爲此開發的服務,只有DML語句會從本地服務器觸發。
Windows服務目標
- 同步與基於時間表
- 採取基於時間表
- 自動下載從軟件更新自動備份數據庫從中央服務器(兩端SQL Server)的數據的本地數據基於日程安排的供應商站點
- 通過監視連接的工作站來強制執行軟件許可證管理
- 工作站之間的Intranet消息傳遞tions和/或本地服務器(就像一個小更豐富的NET SEND工具)
- 管理從本地服務器更新部署到工作站
雖然我有我的心事,我有點困惑在決定和我需要與像你這樣的專家交叉檢查我的想法。以下是我的查詢 -
應在本地服務器上運行多少服務? 請指定個人服務角色。
應該在工作站上運行多少個服務? 請指定個人服務角色。
由於某些服務需要查詢本地SQL數據庫,服務應該從哪裏讀取連接字符串?註冊表?配置文件?任何其他地點?
如果一個服務被分配來執行多個任務,例如,就像調度程序服務一樣,對於管理預定任務的性能而言,最佳/最佳方式應該是什麼 a。爲計劃任務構建.NET類庫程序集,並在單獨的線程上旋轉它們 b。建立計劃任務.NET可執行組件和消防可執行
雖然它可能似乎在一個崗位作爲太多問題,它們都是相關的。我稍後會與論壇分享我的觀點,因爲我不想以任何方式偏袒論壇的觀點/建議。
提前感謝大家。
我肯定會長時間關注WCF(Windows Communication Foundation),而不是爲您的場景做傳統的Windows服務或Web服務。 – TrueWill