web.config的继承关系

今天操作web.config的连接字符串,取所有配置的连接时,发现总是多一个名为“LocalSqlServer”的连接,
该连接并未在我应用程序的web.config里面,不知道哪里来的?

原来是继承来的。web.config也是具有继承关系的。

machine.config %windir%\Microsoft.NET\Framework\{version}\CONFIG
web.config %windir%\Microsoft.NET\Framework\{version}\CONFIG
web.config \inetpub\wwwroot\web.config
web.config \inetpub\wwwroot\YourApplication\web.config
web.config \inetpub\wwwroot\YourApplication\web.config


因 为在%windir%\Microsoft.NET\Framework\{version}\CONFIG\machine.config 和%windir%\Microsoft.NET\Framework\{version}\CONFIG\web.config中有这个连接。
用WebConfigurationManager.OpenWebConfiguration(path)去添加一个连接字符串。
string path = "~" 打开的是web应用程序根目录的web.config文件
string path = string.Empth(或着""、null) 打开的是%windir%\Microsoft.NET\Framework\{version}\CONFIG下的web.config
string path = "/" 打开的是\inetpub\wwwroot\下的web.config (没有web.config他会创建一个,里面只有连接字符串的配置结点)

共有0个回答