コンソール アプリケーションと app.config ファイルと Connections.config ファイルを作成しました。app.config ファイルには、Connections.config を指す接続文字列プロパティ ソースがあります。
アプリケーションで接続文字列を読み取ろうとすると、ConfigurationErrorException
これが私の主な方法です。
static void Main(string[] args)
{
var settings = ConfigurationManager.ConnectionStrings;
if (settings != null)
{
foreach (ConnectionStringSettings setting in settings)
{
Console.WriteLine(setting.ConnectionString);
}
}
}
App.config ファイル
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings configSource="Connections.config"></connectionStrings>
</configuration>
Connections.config ファイル
<?xml version="1.0" encoding="utf-8" ?>
<connectionStrings>
<add name="SQLDBConnecion"
providerName="System.Data.ProviderName"
connectionString="" />
</connectionStrings>
ここで、私は 2 つのことを観察しました。最初: configSource を指定すると、接続文字列を読み取ることができません (例外をスローします)。
2番目:同じ接続文字列をApp.configファイルに入れて読み取ろうとすると、コードは機能しますが、2つの接続文字列を取得します(空の文字列である1つだけを返すはずです)最初の接続文字列は、このようなsqlexpress接続文字列です
data source=.\SQLEXPRESS;Integrated Security=SSPI;
AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true
返される 2 番目の接続文字列は空の文字列です (これは予期されることです)。
私のシナリオのように、外部ファイルから接続文字列を読みたいです。どうやってするか?ここで何が欠けていますか?