在C#中实现无需重新编译即可更改数据

4
我正在编写一个在服务器上持续运行的程序。我希望能够更改一些输入,而不需要硬编码并重新编译。
我知道可以通过使用文本文件来实现这一点,但我不想为每个值都有一个文本文件。
我也知道可以使用表格,但我也不想为这个程序创建一个只有一行的表格。
是否有其他解决方案?
正如您可能猜到的那样,我是.NET/C#世界的新手,所以请原谅如果这是一个太基础的问题。

5
使用应用程序配置文件(app.config)。 - YavgenyP
5个回答

7

1
相关问题:从配置文件获取信息是否比从 .txt 文件中读取纯文本数据更快、资源消耗更少等?我认为是的。 - Mason240
1
@Mason - 每个方法都足够快,不必担心。配置文件在理论上可能会更慢,因为它正在解析XML,但通常c#应用程序已经有一个配置文件,所以在这种情况下使用它是免费的。 - James Curtis

4

根据你要达到的目标,应用程序设置可能也能满足你的需求。这些设置存储在客户端电脑上。例如,你可以在此保存用户设置。

在大多数情况下,我更喜欢使用App.config(在ASP.NET中是Web.config),正如其他回复所建议的那样。


3

听起来你需要一个或多个配置文件,C#内置支持XML格式的配置文件App.Config,访问此文件的入口点位于System.Configuration.ConfigurationManager.AppSettings


3
您有多种选择:
  • 带分隔值的文本文件
  • 具有元素值的XML文件
  • 如果您的程序是ASP.NET,则为Web.config
  • App.config
  • 数据库(但您的情况不是这样)
  • 从另一个程序到Web服务(可能过度杀伐)
  • 在html中硬编码的值(非编译文件)

最简单的是Web.config或App.config,因为.NET已经为您提供了工具,当您需要这些值时:ConfigurationSettings.AppSettings [“Key”];


2

不太清楚您想要实现什么,但如果我理解正确,您想让程序中的一个值动态更改。 如果是这种情况,您可以使用System.Xml命名空间中的XmlReader和XmlWriter类来使用xml配置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接