2011-03-15 51 views
0

我設計了一個應用程序後端。目前,它是一個.NET進程(一個控制檯應用程序),它託管着各種通信框架,如Agatha和NServiceBus。一個可執行文件與cmd行params或只是很多衛星可執行文件?

我需要定期更新數據存儲的值(來自應用程序運行時)。

我發現了三種可能的方式:

  1. 接受命令行參數,這樣我就可以打電話給我的控制檯應用程序與-update。
  2. 啓動後臺線程將定期調用更新方法。
  3. 創建一個updater.exe應用程序將執行更新,但我將有代碼複製,因爲以某種方式它需要從源查詢數據以將其保存到數據存儲。

哪一個更好?

+2

老實說,這是太少的信息,給你一個有用的答案。所有的選擇都有它的優點和缺點,最好的選擇在很大程度上取決於很多不同的東西,比如執行環境,組織環境,程序的現有架構,性能問題等等。 – 2011-03-15 13:57:13

+0

爲什麼你有代碼複製,因爲你從另一個可執行文件執行相同的代碼? – 2011-03-15 16:06:01

回答

3

使用最簡單的工作。聽起來像選項1是基於您提供的信息的方式。

選項2有線程,線程總是使程序複雜化,更難以調試和編寫,錯誤發生的機率更大。

選項3將意味着您有兩個應用程序,如果您進行了更改,您將不得不部署新版本的兩個應用程序,從而增加維護成本。

+0

謝謝,我選擇了第一個選項。這樣我就沒有代碼重複,我正在重新使用一切。 – 2011-03-22 20:49:10