Я хочу получить ТОЛЬКО строки подключения из app.config / web.config, а не machine.config.
В machine.config есть строка подключения, которая называется "LocalSqlServer
";поставщик по умолчанию (как и ожидалось) - «System.Data.SqlClient
», а строка подключения - data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true",
. В моем app.config / web.config у меня есть 3 строки подключения.
Я использую
ConnectionStringSettingsCollection connections = ConfigurationManager.ConnectionStrings;
возвращает 4 подключения
var config1 = ConfigurationManager.OpenMachineConfiguration();
var cns1 = config1.ConnectionStrings.ConnectionStrings.Count;
var fp1 = config1.FilePath;
возвращает 1 подключение и путь C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ machine.config
config1 = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
cns1 = config1.ConnectionStrings.ConnectionStrings.Count;
fp1 = config1.FilePath;
возвращает 4 подключения и путь C: \ TFS \ Dev \ Main \ Apps \ IntegracionEAI \ bin \ Debug \ IntegracionEAI.exe.Config
config1 = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoaming);
cns1 = config1.ConnectionStrings.ConnectionStrings.Count;
fp1 = config1.FilePath;
возвращает 4 подключения и путь C: \ Users \ xxxx \ AppData \ Roaming \ HomeServe \ HomeServe.IntegracionEAI._Url_uhllpkl5hcyqnrco0j4v2tqk1ifapr5j \ 1.0.0.0 \ user.config *
config1 = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
cns1 = config1.ConnectionStrings.ConnectionStrings.Count;
fp1 = config1.FilePath;
1030 *4 соединения и путь
C: \ Users \ xxxx \ AppData \ Local \ HomeServe \ HomeServe.IntegracionEAI._Url_uhllpkl5hcyqnrco0j4v2tqk1ifapr5j \ 1.0.0.0 \ user.config var exePath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, AppDomain.CurrentDomain.SetupInformation.ApplicationName);
config1 = ConfigurationManager.OpenExeConfiguration(exePath);
cns1 = config1.ConnectionStrings.ConnectionStrings.Count;
fp1 = config1.FilePath;
* 35 возвращает соединения и 1033 *1034* 1035
C: \ TFS \ Dev \ Main \ Apps \ Clientes \ IntegracionEAI \ bin \ Debug \ IntegracionEAI.exe.Config Примечание: может быть другое для web.config.
Я получаю конфигурацию только с 3 строками соединения без строки соединения machine.config.
Примечание: я не хочу использовать<clear>
в конфигурационном файле.