一个web项目中能否拥有多个web.config文件?

32

我想知道我的Web项目中是否可以有2个或多个web.config文件?如果可以,编译器将如何检查连接字符串?


4
即使只有一个 web.config,编译器也不会检查连接字符串,对吗? - Sam Holder
可以的。请参考http://stackoverflow.com/a/681678/295635。 - Peter
3个回答

52
你的项目中可以在同一级别下拥有多个配置文件。我们像这样做:我们有一个主配置文件(Web.Config),然后我们有两个更多的配置文件,即App.Config和Database.Config。在App.Config中,我们定义了所有应用程序级别的设置,在Database.Config中,我们定义了所有数据库级别的设置。并且在Web.Config中,我们使用以下方式引用App.Config和Database.Config:
 <appSettings configSource="app.config">
 </appSettings>
 <connectionStrings configSource="database.config">
 </connectionStrings>

另外,您可以在子目录中有多个web.config文件。设置将自动被asp.net覆盖。


2
你能提供一下其他文件的例子吗?可以用 database.config 作为一个例子吗? - Martin
1
使用这种方法,我的database.config文件看起来非常简单:只有connectionStrings节点,就像在Web.config文件中一样。<connectionStrings> <add name="yourconnectionstringname" connectionString="yourconnectionstring" /> </connectionStrings> - Gerard Torres
1
谢谢Muhammad Kashif。我正在创建一个动态网站(由脚本创建的数据库),数据库配置文件也将由脚本创建。这帮我省了很多麻烦。再次感谢... - Wayne Barron

10

是的,您可以在应用程序中拥有两个web.config文件。在某些情况下,您的应用程序被划分为模块,对于每个模块,您需要单独的配置。

输入图像描述

例如,如果您有一个具有两个模块(“帐户”和“销售”)的应用程序,您将在每个文件夹中创建这两个模块,每个文件夹都有单独的配置文件。

请观看此Facebook视频,以非常直观的方式解释相同的内容。 单击此处观看,为什么我们需要2个web.config文件在应用程序中


7
您可以在根项目中拥有一个用于整个网站配置(使用的框架、额外依赖等)的web.config文件。您还可以在子目录中拥有另一个web.config文件。后者通常用于为每个文件夹提供访问规则,例如“Admin”文件夹只能由具有管理员角色的用户访问...
如果您想要多个网站配置,则必须创建多个“应用程序”,这样每个应用程序都必须有其自己的web.config文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接