【问题标题】:Can multiple C# apps use one App.Config file?多个 C# 应用程序可以使用一个 App.Config 文件吗?
【发布时间】:2021-02-27 05:43:53
【问题描述】:

我们有许多在计划任务上运行的 C# 控制台应用程序。所有这些应用程序都有自己的配置文件,其中包含我们的 smtp 服务器等设置。如果我们的 smtp 服务器发生变化,我们将不得不手动进入每个配置文件并进行更改。多个应用程序可以查看 C: 驱动器上的 1 个配置文件,还是认为这是不好的做法?使用数据库存储值是不行的。

【问题讨论】:

  • 为什么不能使用数据库?这是很常见的做法。
  • 我们的管理员可能没有数据库访问权限。

标签: c# .net


【解决方案1】:

您可以指向应用程序配置文件中的外部配置文件,如下所示,并让您的所有应用程序使用单个文件中的同一组设置:

<appSettings file="c:\CommonSettings.config">
   <add key="MyKey" value="12"/> 
</appSettings>

更多信息,您可以阅读以下文章:

【讨论】:

    【解决方案2】:

    不能直接共享一个应用程序配置文件,因为.config 文件名需要与可执行文件名匹配(因此对于example.exe,它将是example.exe.config)。

    为不同的应用程序设置单独的值是有意义的,因为它们是单独的应用程序。

    如果您确实想要共享配置部分,您可以使用configSource 属性指向一个文件。 appSettings 部分还有一个特定的 file 属性,您可以以相同的方式使用它。

    如果某些配置值在所有应用程序之间共享,您可以考虑将它们放在您正在使用的框架版本的machine.config 文件中。

    【讨论】:

      【解决方案3】:

      您可以使用自定义 xml 文件来存储配置数据吗? 没有必要使用 app.config。

      【讨论】:

      • 我可以使用 xml 文件。我在想这可能会更容易。
      【解决方案4】:

      使用 Cinchoo 框架,您可以通过简单地创建自定义配置对象并在所有控制台应用程序中使用它来实现这一点。它们都将从同一个配置文件中读取。欲了解更多信息,请访问http://www.cinchoo.com

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-26
        • 2013-02-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多