Получение строки подключения из файла web.config на основе имени поставщика - PullRequest
1 голос
/ 18 июля 2011

Я пытаюсь выяснить, как получить все строки подключения из web.config, который имеет определенного поставщика, но застрял.

Основы моего метода выглядят так

var webConfig = new ExeConfigurationFileMap { ExeConfigFilename = GlobalSettings.FullpathToRoot + "web.config" };
var config = ConfigurationManager.OpenMappedExeConfiguration(webConfig, ConfigurationUserLevel.None);
var section = (ConnectionStringsSection)config.GetSection("connectionStrings");

// some code like 
foreach(var item in section.providerName.equals("sql.provider"))
...

Любой совет высоко ценится!

1 Ответ

1 голос
/ 18 июля 2011

решена проблема

public static Dictionary<string,string> ExistingConnections()
{
    var connections = new Dictionary<string, string>();
    foreach (ConnectionStringSettings connection in ConfigurationManager.ConnectionStrings)
    {
        if(connection.ProviderName == "sql.providername")
            connections.Add(connection.ProviderName, connection.ConnectionString);
    }
    return connections.Count > 0 ? connections : null;
}

или с помощью linq

public static Dictionary<string,string> ExistingConnections()
{
    var connections = ConfigurationManager.ConnectionStrings.Cast<ConnectionStringSettings>().Where(connection => connection.ProviderName == "Camelot.SharePointProvider").ToDictionary(connection => connection.ProviderName, connection => connection.ConnectionString);
    return connections.Count > 0 ? connections : null;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...