2009-05-29 40 views
0

嘿,我想存儲應用程序配置數據。目前,我正在使用INI,但他們太老了,現在我想嘗試新的東西。我在.NET平臺上使用C#。C#應用程序配置數據

我有什麼解決方案? app.configs?

這裏的情況就是這樣,我想讓其他程序讀取配置數據。

回答

7

是的,各種.config文件(app.config,web.config等)已經取代了INI,並在某種程度上取代了註冊表作爲存儲應用程序配置數據的首選方式。

任何.Net或其他程序都可以讀取這些文件。 .Net具有ConfigurationManager類,其他語言可以簡單地執行XML解析來獲取所需的值。

+1

此外,搜索「您將需要的最後一個自定義配置節處理程序」。它提供通用代碼來處理.config文件中的「自定義」數據。這被稱爲.NET定義中的「自定義配置節處理程序」,Craig Andera最初編寫了一個通用的,可重用的。一些人然後擴展了它。例如,http://weblogs.asp.net/sweinstein/archive/2005/01/10/350299.aspx。但是尋找其他人來看看我的意思。 – Cheeso 2009-05-29 15:58:45

1

.NET的標準方法是將app.config文件用於應用程序設置和用戶特定設置的user.config文件(雖然位置因XP和Vista而異)。

沒有什麼可以阻止其他程序讀取配置數據,您只需在第二個(或第三個)應用程序中有一個配置設置,以告訴它在哪裏查找。

1

app.config將是在.NET中做事的首選方式。只要你給他們正確的文件路徑,應該也可以正常工作來讀取其他應用程序。它只是一個XML文件,所以你也可以從非.NET應用中讀取它。

1

如果您使用的是Visual Studio,則可以使用應用程序設置來達到此目的。只需打開自動添加的Settings.settings或創建另一個。它們將自動在Properties.Settings.Default中提供,並以XML格式存儲。您也可以有多個設置文件用於不同的目的。

這是一個Visual Studio的概念,而不是.NET的概念。

0

我經常使用SQL表來保存我的應用程序設置。我創建了一個單例類,通常稱爲AppSettings,用於從表中加載數據。 AppSettings類然後用於獲取配置值而不是直接訪問配置文件。對於ASP.Net應用程序,我在Global.asax.cs的Application_Start事件中實例化AppSettings類。

這樣做讓我有一種方法允許用戶控制一些應用程序設置,例如,通知的電子郵件地址。它還可以在維護應用程序的prod,QA和dev版本時進行簡化(假設您有各自獨立的數據庫實例)