这是我今天在采访中提出的一个问题。
如何为不同的网络共享相同的配置设置 在同一个IIS下运行的应用程序。
我回答,
可以通过将其移动到CLR版本下的根级web.config / machine.config文件来完成,即Windows / Microsoft VS .Net / Framework / Version / Config / filename
将xml文件或某个文件放在服务器的磁盘上,并使用System.IO进行读取。
旧的方式,放一些.ini文件并阅读
最后他们说错了!想知道可能的方法是什么?
答案 0 :(得分:3)
一个选项:您可以在任何配置元素上使用configSource
属性,让它从外部文件中提取配置。
<强> ConnectionStrings.config 强>
<connectionString>
...
</connectionStrings>
<强>的Web.config 强>
<connectionStrings configSource="ConnectionStrings.config" />
然后,您可以在项目之间链接ConnectionStrings.config,然后就可以了。
答案 1 :(得分:1)
你不需要做任何事情。默认行为是子文件夹中的所有Web应用程序从根文件夹继承配置。你只需覆盖你需要的那个。
示例:强>
C:\inetpub\wwwroot
C:\inetpub\wwwroot\webapp1
C:\inetpub\wwwroot\webapp2
现在,如果
C:\inetpub\wwwroot\web.config
C:\inetpub\wwwroot\webapp1\web.config
C:\inetpub\wwwroot\webapp2\web.config
app1
和app2
都将从根web.config
继承其配置,除非在他们自己的web.config
中明确覆盖它们。