b / w web config和machine config有什么区别
答案 0 :(得分:7)
小心。配置文件的层次结构:
applicationHost.config
是顶级IIS配置文件。
接下来是machine.config
,这是顶级服务器特定的配置文件。
接下来是服务器级web.config
文件。
然后是特定于应用程序的web.config
。
接下来,有一个可选的 application.config 文件。
最后,还有可选的特定于目录的web.config
文件。
更高级别的文件通常包含限制您可以在较低级别文件中配置的内容的指令。例如,最高级别web.config
是配置服务器信任级别的位置。
答案 1 :(得分:5)
Web.config特定于应用程序。
Machine.config适用于您服务器上的所有应用程序。
所以,如果我在共享连接字符串的同一台服务器上有3个应用程序; machine.config是要走的路。
如果我有特定于应用程序的设置(例如超时间隔),则应用程序不同;把它们放在web.config
中答案 2 :(得分:3)
它们是同一系统的两个部分。微软在.NET中加入了一些魔力,以便在运行时合并machine.config和web.config。如果您愿意,Machine.config提供web.config可以覆盖的默认值。
Machine.config提供了一种保存机器特定配置的方法。所以说你有两个环境生产和UAT需要指向不同的数据库。您可以分别在Production和UAT框中的machine.config中放置生产和UAT的connectionStrings,这些机器上的所有ASP.NET应用程序都可以访问相应的connectionString。
您可以阅读有关.NET配置文件here的更多信息。
答案 3 :(得分:2)
我建议您阅读ASP.NET Configuration Inheritance。除machine.config
和web.config
之外还有其他配置层,它有助于了解可能影响您的应用程序的所有不同部分。
答案 4 :(得分:1)
machine.config
是一个全局配置文件,其中包含机器级别的默认设置,可以在web.config
中覆盖特定于给定应用程序的默认设置。