app.config(接続文字列部分)を変更できるアプリケーションを作成しました。私はいくつかの解決策を試しましたが、これは私の問題の1つを解決する最も簡単な方法であることが判明しました。これは私が使用するコードです:別のアプリケーションからapp.configを変更する
ConnectionStringSettings postavke = new ConnectionStringSettings("Kontrolor.Properties.Settings.KontrolorConnectionString", constring);
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.ConnectionStrings.Clear();
config.ConnectionStrings.ConnectionStrings.Add(postavke);
config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection(config.ConnectionStrings.SectionInformation.SectionName);
このコードはbutton_clickメソッド内に配置され、私はそのボタンをクリックして、変更が表示されているアプリケーションを再起動するとされます。 私の質問はこれです - ユーザーがテキストボックスに必要な値を入力するか、またはcomboBoxから選択することによって接続文字列を作成できるようにする別の(独立した)アプリケーションから行う方法はありますか?サーバーの名前とデータベースの名前)。これにより、最初のアプリケーションが準備され、変更を適用するために再起動する必要はありません。 これを行う方法はありますか?
両方のアプリケーションを制御していますか? –
はい。このアプリケーションは2種類のユーザー(管理者と作業者)によって使用されるため、管理者がアプリケーション設定を変更できるようにしたいと考えていますが、この機能が存在することに気づく必要はありません。私の代わりは、ユーザーがログインする資格情報に応じてMenuStrip項目を表示することですが、最初の方法は私にとってはよりエレガントです(変更を適用するアプリケーションを再起動する必要はありません。 – NDraskovic
これらのアプリケーションが同じマシン上で実行されている場合、カスタムウィンドウメッセージを送信したり、WCFを使用したりすることができます(List-Based Publish-Subscribeの例を参照してください)。http://msdn.microsoft.com/en- us/library/ms752254.aspx –