如何仅从app.config / web.config中获得连接字符串,而不从machine.config中获得连接字符串?

时间:2018-09-28 09:08:46

标签: c# configuration connection-string configuration-files machine-config

我只希望从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;

返回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;

返回4个连接和路径 C:\ TFS \ Dev \ Main \ Apps \ Clientes \ IntegracionEAI \ bin \ Debug \ IntegracionEAI.exe.Config

  

注意:web.config可能有所不同。

我仅使用3个连接字符串获得配置,而没有machine.config的连接字符串。

注意:我不想在配置文件中使用<clear>

0 个答案:

没有答案
相关问题