0

によって使用されるapp.configのDefaultDatabase値をオーバーライドする必要がありますDatabaseFactory.CreateDatabase() of DAAB

以下のコードがあり、変更が成功したことを示していますが、コードの後半でデフォルトデータベースを参照すると、以下のコードによって保存された変更がなくなります。これは、デバッグモードでも、コンパイル済みexeファイルでも発生します。

Database db = DatabaseFactory.CreateDatabase();

app.configを変更するコード

        Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            var dbSettings = (DatabaseSettings)ConfigurationManager.GetSection("dataConfiguration");

        string connectionString = ConfigurationManager.ConnectionStrings[dbSettings.DefaultDatabase].ConnectionString;

        connectionString = connectionString.Replace("DATABASETOREPLACE", dstuff.Database).Replace("SERVERTOREPLACE", dstuff.Server);

        config.ConnectionStrings.ConnectionStrings[dbSettings.DefaultDatabase].ConnectionString = connectionString;

        config.Save(ConfigurationSaveMode.Modified, true);
        ConfigurationManager.RefreshSection("connectionStrings");

app.config値



4

1 に答える 1

0

ConfigurationManager.RefreshSection("configuration"); 代わりに試してくださいConfigurationManager.RefreshSection("connectionStrings");

于 2012-03-29T15:39:52.697 に答える