我使用Windows窗體創建客戶機服務器應用程序。所有應用程序配置都保存在名爲Configuration的數據庫表中,並且有用於更改其值的界面。在配置表中有一些記錄用於事務處理,例如「日誌激活」。如果Log Activation的這個值爲true,那麼當保存一個事務時它將創建一個日誌文件。Windows窗體中的全局配置
所以,當我每次保存一個事務時,我總是將日誌激活配置讀取到數據庫以獲取它的值。在我的情況下,我不僅讀取1個配置,而且還可以讀取1個或更多配置。我擔心會有很多數據庫往返行程來獲取每個配置值,這在客戶端 - 服務器體系結構中不是很好的設計。
然後我嘗試使用設置文件,但這種方法不適合我的應用程序,因爲我使用Windows Form開發客戶端 - 服務器應用程序。每次我更新設置文件中的值時,它只會在該計算機中受到影響,其他則不會。
那麼解決這個問題的最佳解決方案是什麼,而不是直接讀到每個事務中的數據庫?
我喜歡你的榜樣,是幹什麼用的StoreSettings?關於缺點,你的意思是說,在客戶端打開的應用程序應該重新打開?有沒有什麼技巧可以使這變得更靈活,因爲有很多客戶端,這將是我額外的工作來通知並確保所有客戶端重新啓動 – Willy
'StoreSettings'將是您實現的一種方法,用於將設置保存到數據庫中。我的缺點是,如果你只在應用程序啓動時纔讀取設置,當然無法知道設置是否已經改變。在不重新啓動客戶端的情況下傳播新設置的一種方法是讓'Configuration'類以給定的時間間隔重新讀取設置,例如每隔15分鐘以不妨礙運行事務的方式。 –