2009-05-29 31 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版本时进行简化(假设您有各自独立的数据库实例)