如何从 App.config 检索连接字符串
How to retrieve connection strings from App.config
我在 windows 表单应用程序中有以下配置:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="ConsoleApp1.Properties.Settings.abcdConnectionString"
connectionString="Data Source=xxx.yyy.org;Initial Catalog=MyCatalog;"
providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>
以下代码多次尝试检索连接字符串。
没有任何效果。
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using System.Configuration;
using System.Collections.Specialized;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
NameValueCollection sAll;
sAll = ConfigurationManager.AppSettings;
Console.Write("[");
foreach (string s in sAll.AllKeys)
{
Console.Write(">>");
Console.WriteLine("Key: " + s + "Value: " + sAll.Get(s));
}
Console.Write("]");
Console.ReadLine();
Console.Write("sAll = (");
Console.Write(sAll);
Console.WriteLine(") end of sALL");
Console.ReadLine();
string keyvalue =
System.Configuration.ConfigurationManager.AppSettings["ConsoleApp1.Properties.Settings.abcdtest19ConnectionString"];
Console.WriteLine("keyvalue = (" + keyvalue + ")");
Console.ReadLine();
keyvalue = ConfigurationManager.AppSettings["ConsoleApp1.Properties.Settings.abcdConnectionString"];
Console.WriteLine("keyvalue = (" + keyvalue + ")");
Console.ReadLine();
keyvalue = ConfigurationManager.AppSettings["abcdConnectionString"];
Console.WriteLine("keyvalue = (" + keyvalue + ")");
Console.ReadLine();
}
}
}
None 次尝试生成连接字符串。
此注释是为了满足 Whosebug 的格式要求。
string constr = System.Configuration.ConfigurationManager.
ConnectionStrings["ConsoleApp1.Properties.Settings.abcdConnectionString"].ConnectionString;
如果您像这样更改 app.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="abcdConnectionString"
connectionString="Data Source=xxx.yyy.org;Initial Catalog=MyCatalog;"
providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>
然后
string constr = System.Configuration.ConfigurationManager.
ConnectionStrings["abcdConnectionString"].ConnectionString;
我在 windows 表单应用程序中有以下配置:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="ConsoleApp1.Properties.Settings.abcdConnectionString"
connectionString="Data Source=xxx.yyy.org;Initial Catalog=MyCatalog;"
providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>
以下代码多次尝试检索连接字符串。 没有任何效果。
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using System.Configuration;
using System.Collections.Specialized;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
NameValueCollection sAll;
sAll = ConfigurationManager.AppSettings;
Console.Write("[");
foreach (string s in sAll.AllKeys)
{
Console.Write(">>");
Console.WriteLine("Key: " + s + "Value: " + sAll.Get(s));
}
Console.Write("]");
Console.ReadLine();
Console.Write("sAll = (");
Console.Write(sAll);
Console.WriteLine(") end of sALL");
Console.ReadLine();
string keyvalue =
System.Configuration.ConfigurationManager.AppSettings["ConsoleApp1.Properties.Settings.abcdtest19ConnectionString"];
Console.WriteLine("keyvalue = (" + keyvalue + ")");
Console.ReadLine();
keyvalue = ConfigurationManager.AppSettings["ConsoleApp1.Properties.Settings.abcdConnectionString"];
Console.WriteLine("keyvalue = (" + keyvalue + ")");
Console.ReadLine();
keyvalue = ConfigurationManager.AppSettings["abcdConnectionString"];
Console.WriteLine("keyvalue = (" + keyvalue + ")");
Console.ReadLine();
}
}
}
None 次尝试生成连接字符串。 此注释是为了满足 Whosebug 的格式要求。
string constr = System.Configuration.ConfigurationManager.
ConnectionStrings["ConsoleApp1.Properties.Settings.abcdConnectionString"].ConnectionString;
如果您像这样更改 app.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="abcdConnectionString"
connectionString="Data Source=xxx.yyy.org;Initial Catalog=MyCatalog;"
providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>
然后
string constr = System.Configuration.ConfigurationManager.
ConnectionStrings["abcdConnectionString"].ConnectionString;