2012-02-11 19 views
1

おはよう、動的接続文字列

私のweb.configファイルには2つの接続文字列が定義されています。

<connectionStrings> 
    <add name="AppDb" connectionString="CONNECTION-STRING1"/> 
    <add name="LaptopDb" connectionString="CONNECTION-STRING2" /> 
</connectionStrings> 

デスクトップで作業しているときに、接続文字列「AppDb」を使用します。ラップトップで作業しているときに、接続文字列 "LaptopDb"を使用したいと考えています。私は別のマシンで作業するたびに接続文字列の行をコメントアウトしたくありません。

私はこれをプログラマチックに行うことができます。私はちょうど最善の方法を理解しようとしています。以下のような

何か:

if (machineName == desktop) 
    use AppDb 
else 
    use LaptopDb 

が、私はこのアプローチを好みません。私が試すことができる何か他にありますか?

答えて

1

は、ここであなたが考える可能性がアプローチの別のカップルです:

1

行うのは本当にあまりにもハードではない - トリックを選択すると、静的プロパティから接続文字列を取得するためにどの文字列を駆動するためにSystem.Environment.MachineNameを使用することです:

public static string ConnectionStringName 
{ 
    get 
    { 
     var customConnection = ConfigurationManager.ConnectionStrings[Environment.MachineName] != null; 
     var connectionStringName = customConnection ? Environment.MachineName : "DefaultDb"; 
     return connectionStringName; 
    } 
} 
関連する問題