[英]Where to store application global settings?
我有一些全局設置例如以下是一些
ShortLeaveAllowedInOneDay = 2
LeaveAllowedInMonth = 3
我有以下選項來存儲這些全局設置
1-Store in Database表
2存儲在Webconfig文件中
3-store作為const存檔
4-In XML文件
能否請您建議哪一個更好的方法和原因
我正在使用Asp.net MVC3和sqlserver 2005
這取決於您的要求,這些選項中的每一個都有自己的優點和缺點。 它試圖列出一些:
1.存儲在數據庫表中
好處:
缺點:
2.存儲在web.config文件中
好處:
缺點:
web.config
更改可能導致應用程序池重新啟動。
3.作為const字段存儲在類中
好處:
缺點:
4.在XML文件中
好處:
log4net
就是這樣一個例子) 缺點:
如果您需要由軟件用戶配置它們,我不會選擇3.如果它們是您定義為程序員的設置,並且在您的應用程序投入生產時不希望它們被更改,那么您可以這樣做。
我會說選項4和2在概念上基本相同,並且個人喜好可供選擇。 我個人喜歡定義一個自定義配置部分 ,然后在它自己的.config文件中定義該部分( 這顯示了如何做到這一點),這樣你就沒有用戶必須導航的非常龐大的web.config。
如果我有一個場景,我有多個組件都需要訪問相同的配置,我會選擇選項1。 如果您正在構建的只是一個Web應用程序,那么我認為沒有必要這樣做,但是,例如,如果您有一個Web應用程序和一些其他客戶端應用程序並且都需要訪問數據庫,那么存儲配置一個不錯的選擇。
在Web配置文件中添加AppSettings會話,可以直接從代碼中訪問,如:
System.Configuration.ConfigurationManager.AppSettings["ShortLeaveAllowedInOneDay "];
編輯:和Confir文件看起來像:
<appSettings>
<add key="ShortLeaveAllowedInOneDay " value="2" />
</appSettings>
在web.config文件中存儲全局變量是一項非常常見的任務。 在數據庫可能過度且不需要單獨的外部文件時,在web.config文件中存儲值非常有用。
對於每個頁面生命周期,多次讀取.xml文件對於性能來說非常糟糕。
我肯定會去web.config。
沒有一種方法本質上比其他方法更好。
最好的方法完全取決於您對安全性,可伸縮性,靈活性,只讀與可寫,配置復雜性等內容的要求。
您可以將變量存儲在Web.config文件中。
我會更實際。 兩個基本案例。
您將初始變量存儲在web.config上,而所有其他變量都存儲在數據庫中。 如果您沒有數據庫,那么可用的內容就像XML文件一樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.