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

C# 如何在Asp.net MVC中配置外部配置文件?,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我有一个应用程序,其中所有配置,如连接字符串, 我的web.config文件中存在应用程序设置等。在生产环境中,当我更改某些设置时。我必须重新启动应用程序。我在某个地方读到,如果我们添加外部配置文件并在web.config中添加它的引用,那么我们就不需要重新启动应用程序。这是我的web.config: <appSettings configSource="appSettingConfig.xml" /> <section name='rewrite' type='???'

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

 <appSettings configSource="appSettingConfig.xml" />
<section name='rewrite' type='???' restartOnExternalChanges='false' />

这是我的外部配置文件:

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

外部配置文件工作正常,但问题仍然是,如果更改外部文件,则必须重新启动应用程序。 然后我在谷歌上搜索,发现add部分用于配置是否在外部文件上重启。它位于web.config中:

 <appSettings configSource="appSettingConfig.xml" />
<section name='rewrite' type='???' restartOnExternalChanges='false' />

但这也无济于事。谁能告诉我我做错了什么

谁能告诉我我做错了什么

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

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


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

您阅读了吗?特别是:RestartNexternalChanges-不适用于ASP.NET应用程序。请阅读,RestartNexternalChanges不适用于ASP.NET应用程序。是否有其他方法可以做到这一点?但在本文中。上面说我们可以这样做:你可以用app.domainI通过编程来完成。我同意你的意见,但根据客户的要求,我必须这样做。是否有任何方法可以在不启动应用程序的情况下进行更改?否。更改web.config始终会重新启动应用程序,因为设置会缓存在应用程序中。但我重读了你的问题,听起来你在构建一个多租户应用程序。请看一看并了解几种方法。