2009-06-29 52 views
13

有人可以向我解釋App.Config文件中AppSettings和ApplicationSettings部分之間的區別。爲什麼有兩個不同的部分顯然是做同樣的事情?ApplicationSettings部分和AppSettings部分之間的區別是什麼?

+0

你在哪裏看到「應用程序設置」?我不相信這是一個有效的配置部分。你可以發表一個例子嗎? – alanquillin 2009-06-29 15:15:57

+1

對不起,我的意思是ApplicationSettings,而不是應用程序設置 – Calanus 2009-06-29 15:16:58

回答

18

我相信<appsettings/>收集您的app.config/web.config文件允許你存儲在鍵值對的設置,並通過System.Configuration API訪問,具體如下:

string setting = System.Configuration.ConfigurationManager.AppSettings["settingName"];

設置只能作爲字符串值存儲和檢索。
也可以通過System.Configuration.ConfigurationSettings訪問它們,但這種方式已被棄用。

配置文件中的<ApplicationSettings/>集合以強類型的方式存儲您的設置,並且還允許您以強類型的方式訪問這些設置。 VS自動爲您生成包裝類,在settings.settings文件屬性您的項目文件夾。要將設置文件添加到項目中,請右鍵單擊您的項目,然後單擊屬性,然後打開設置選項卡。然後點擊鏈接添加一個新的設置文件。 VS會自動爲你生成一個。這很簡單。

您通常訪問您的設置如下:在兩個集合是如何訪問

MyProjectName.Properties.Settings.Default.SettingName

注意到其中的差別。

第二種(未棄用的)存儲設置方式是更好的方式,它提供了很多靈活性和強大功能。這需要一些學習 - 但這是值得的。

0

這與我們都喜歡的向後兼容性有關。 ApplicationSettings是較新的構造。

用戶較新的ConfigurationManager和WebConfigurationManager類來獲取您的設置,並做到這一點,你需要一個引用,所以System.configuration而不是System.Configuration :)。

有一次,它開始變得有點傻了。

相關問題