1

这是我今天面试时提出的一个问题。

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

我回答了,

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

在服务器磁盘上有一个 xml 文件或某个文件,并使用 System.IO 读取。

较旧的方式,放置一些 .ini 文件并阅读它

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

4

2 回答 2

4

One option: You can use the configSource attribute on any configuration element to have it pull the configuration from an external file.

ConnectionStrings.config

<connectionString>
    ...
</connectionStrings>

Web.config

<connectionStrings configSource="ConnectionStrings.config" />

Then, you can link ConnectionStrings.config between your projects and you're good to go.

于 2013-03-28T19:41:12.377 回答
1

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

例子:

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

现在如果

  • 根配置位于:C:\inetpub\wwwroot\web.config
  • web app1 配置在:C:\inetpub\wwwroot\webapp1\web.config
  • web app2 配置在:C:\inetpub\wwwroot\webapp2\web.config

两者都app1将从app2root 继承它们的配置,web.config除非在它们自己的web.config.

于 2013-03-28T21:29:40.513 回答