繁体   English   中英

共享不同Web应用程序的相同配置设置

[英]sharing same configuration settings for different web application

这是我今天在采访中提出的一个问题。

如何为在同一IIS下运行的不同Web应用程序共享相同的配置设置。

我回答了,

可以通过将其移动到CLR版本下的根级web.config / machine.config文件来完成,即Windows / Microsoft VS .Net / Framework / Version / Config / filename

将xml文件或某个文件放在服务器的磁盘上,并使用System.IO进行读取。

更老的方式,放一些.ini文件并阅读它

最后他们说一切都错了! 想知道可能的方法是什么?

一个选项:您可以在任何配置元素上使用configSource属性,以使其从外部文件中提取配置。

ConnectionStrings.config

<connectionString>
    ...
</connectionStrings>

Web.config文件

<connectionStrings configSource="ConnectionStrings.config" />

然后,您可以在项目之间链接ConnectionStrings.config,然后就可以了。

你不需要做任何事情。 默认行为是子文件夹中的所有Web应用程序从根文件夹继承配置。 你只需覆盖你需要的那一个。

例:

  • 根文件夹: C:\\inetpub\\wwwroot
  • web app1根文件夹: C:\\inetpub\\wwwroot\\webapp1
  • web app2根文件夹: C:\\inetpub\\wwwroot\\webapp2

现在如果

  • root config位于: C:\\inetpub\\wwwroot\\web.config
  • web app1 config at: C:\\inetpub\\wwwroot\\webapp1\\web.config
  • web app2 config at: C:\\inetpub\\wwwroot\\webapp2\\web.config

除非在自己的web.config显式覆盖它们,否则app1app2都将从root web.config继承它们的配置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM