2011-11-11 18 views
0

ポーリングサービスに異なる方法の設定ファイルとpollingserviceがあります。これに実行時に接続文字列を変更する

<add name="Entity" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=dev;Initial Catalog=DB;Persist Security Info=True;User ID=a;Password=asdf;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 

<add name="Entity" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=dev_Test;Initial Catalog=DB_Test;Persist Security Info=True;User ID=a;Password=asdf;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 

支援してください私は何が起こるたいのは、それがポーリングサービスで特定のメソッドに当たったとき、私はから設定ファイルに接続文字列を変更したいということです。

ありがとうございました。

答えて

0

あなたが本当にapp.configファイルを変更したい場合は、あなたがこれを行うことができます:

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 

    config.ConnectionStrings.ConnectionStrings["Entity"].ConnectionString = YourNewConnectionString; 
    config.Save(); 

あなただけのデータソースを変更する必要がある場合は、内側の接続文字列であり、あなたが解析したくありませんエンティティ接続文字列を使用すると、接続文字列ビルダーを次のように使用できます。

var entityBuilder = new EntityConnectionStringBuilder(ConfigurationManager.ConnectionStrings["Entity"].ConnectionString); 
var sqlBuilder = new SqlConnectionStringBuilder(entityBuilder.ProviderConnectionString); 

sqlBuilder.DataSource = "dev_Test"; 

entityBuilder.ProviderConnectionString = sqlBuilder.ToString(); 

var connectionString = entityBuilder.ToString(); 
関連する問題