【发布时间】:2009-05-29 15:32:44
【问题描述】:
嘿,我想存储应用程序配置数据。目前,我正在使用 INI,但它们太旧了,现在我想尝试一些新的东西。我在 .NET 平台上使用 C#。
我有什么解决方案? app.configs?
这里的场景是这样的,我想让其他程序读取配置数据。
【问题讨论】:
标签: c# .net configuration
嘿,我想存储应用程序配置数据。目前,我正在使用 INI,但它们太旧了,现在我想尝试一些新的东西。我在 .NET 平台上使用 C#。
我有什么解决方案? app.configs?
这里的场景是这样的,我想让其他程序读取配置数据。
【问题讨论】:
标签: c# .net configuration
是的,各种 .config 文件(app.config、web.config 等)已经取代了 INI,并且在一定程度上,注册表成为了存储应用程序配置数据的首选方式。
任何程序,.Net 或其他程序,都可以读取这些文件。 .Net 具有 ConfigurationManager 类,其他语言可以简单地进行 XML 解析以获取所需的值。
【讨论】:
.NET 的标准方法是使用 app.config 文件进行应用程序设置,使用 user.config 文件进行用户特定设置(位置在 XP 和 Vista 之间有所不同)。
没有什么可以阻止其他程序读取配置数据,您只需要在第二个(或第三个)应用程序中进行配置设置,告诉它在哪里查找。
【讨论】:
app.config 将是在 .NET 中做事的首选方式。只要您为它们提供正确的文件路径,也应该可以很好地从其他应用程序中读取。而且它只是一个 XML 文件,因此您也可以从非 .NET 应用程序中读取它。
【讨论】:
如果您使用的是 Visual Studio,则可以为此目的使用应用程序设置。只需打开自动添加的 Settings.settings 或创建另一个。它们将自动在Properties.Settings.Default 中可用,并以 XML 形式存储。您还可以拥有多个用于不同目的的设置文件。
这是一个 Visual Studio 概念,而不是一个 .NET 概念。
【讨论】:
我经常使用 SQL 表来保存我的应用程序设置。我创建了一个单例类,通常称为 AppSettings,我从表中加载数据。然后使用 AppSettings 类来获取配置值,而不是直接访问配置文件。对于 ASP.Net 应用程序,我在 Global.asax.cs 的 Application_Start 事件中实例化 AppSettings 类。
这样做为我提供了一种允许用户控制某些应用设置的方法,例如用于通知的电子邮件地址。在维护应用程序的 prod、QA 和 dev 版本时,它还可以简化事情(假设每个都有单独的数据库实例)
【讨论】: