Iis 获取C中非继承集连接字符串的列表#

Iis 获取C中非继承集连接字符串的列表#,iis,web-config,connection-string,Iis,Web Config,Connection String,我有一个IIS(>7),它有两个应用程序/foo和/foo/bar。两者都有多个连接字符串,我需要获得一个列表,其中列出了/foo/bar中未从/foo继承的所有连接字符串。我在一些任务中使用了System.Web.Configuration,如果能在这里找到一种利用这些类的方法,那就太酷了。有什么想法吗 我无法直接读取web.config,因为连接字符串-部分受保护。好的,我找到了解决方案 var config = WebConfigurationManager.OpenWebConfigur

我有一个IIS(>7),它有两个应用程序
/foo
/foo/bar
。两者都有多个连接字符串,我需要获得一个列表,其中列出了
/foo/bar
中未从
/foo
继承的所有连接字符串。我在一些任务中使用了
System.Web.Configuration
,如果能在这里找到一种利用这些类的方法,那就太酷了。有什么想法吗


我无法直接读取web.config,因为
连接字符串
-部分受保护。

好的,我找到了解决方案

var config = WebConfigurationManager.OpenWebConfiguration(i_applicationVirtualPath);
if (config != null) {
    ConnectionStringsSection connectionStringSection = config.ConnectionStrings;
    ConnectionStringSettingsCollection connectionStringsCollection =
                connectionStringSection.ConnectionStrings;

    foreach (var settingObject in connectionStringsCollection) {
        ConnectionStringSettings setting = settingObject as ConnectionStringSettings;
        if (setting.ElementInformation.IsPresent) {
            // This connectionstring is in the corresponding web.config
        }
    }
}
这段代码只检测我正在寻找的连接字符串,并且能够通过加密透明地读取。这也适用于其他配置部分