0

我有一个带有两个应用程序的 IIS (>7)/foo/foo/bar. 两者都有几个连接字符串,我需要获取所有连接字符串的列表,这些连接/foo/bar字符串不是从/foo. 我System.Web.Configuration用于一些任务,在这里找到一种使用这些类的方法也会很酷。有任何想法吗?

我无法直接读取 web.config,因为connectionStrings-section 受到保护。

4

1 回答 1

1

好的,我找到了解决方案。

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
        }
    }
}

此代码仅检测我正在寻找的连接字符串,并且能够通过加密透明地读取。这也应该适用于其他配置部分......

于 2013-04-04T09:52:50.180 回答