如何在Asp.net MVC中配置外部配置文件?

时间:2017-05-30 07:44:04

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我有一个应用程序,其中所有配置如连接字符串, 应用程序设置等存在于我的web.config文件中。在生产环境中,当我改变一些设置时。我必须重新启动应用程序。我在某处读到,如果我们添加外部配置文件并在web.config中添加它的引用,那么我们就不需要重新启动应用程序了。这是我的web.config:

 <appSettings configSource="appSettingConfig.xml" />

这是我的外部配置文件:

<appSettings>
    <add key="IsShowReportEnabled" value ="True"/>
    <add key="SendReportToPrinter" value ="False"/>
  </appSettings>

外部配置文件工作正常,但问题仍然存在,如果我更改外部文件,我必须重新启动应用程序。 然后我用谷歌搜索,发现添加部分配置重启外部文件或不。这是在web.config中:

<section name='rewrite' type='???' restartOnExternalChanges='false' />

但这也没有帮助。谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:0)

  

任何人都可以告诉我我做错了吗?

Web.config设置旨在作为应用程序启动时加载的应用程序范围设置。通常,这些设置会手动更改或通过部署过程进行更改,因此应用程序在更改时会重新启动,这是可接受的副作用。

运行时设置不应存储在Web.config文件中。它们通常存储在另一个持久位置,例如文本文件,或者更常见地存储在数据库中。

您的设置名称(特别是SendReportToPrinter)听起来像是用户特定的设置,而不是应用程序范围的设置。我希望这些存储在数据库中的用户特定表中,因为它们可能需要对每个用户都不同。