質問

私たちのソリューションは、すべて1つのマシンで実行されるか、完全に配布できるWindowsとWebサービスのスイートです。

これらすべてを結び付けるために必要な構成は1つだけです(たまたまrabbitmqエンドポイントですが、それは重要ではありません)。

当社のサービスの一部は32ビットアプリとして実行する必要があり、Webサービスの一部は32ビットアプリプールで実行されるため、同じマシンで64ビットと32ビットのプロセスが組み合わされています。

優先的に、1つの構成を.NET Machine.Configに入れました。私の現在のタスクは、裸の骨のwin-forms UIを書き、Machine.configを設定して更新することです。

ただし、デフォルトでは、マシン構成をで開きます

config = System.Configuration.ConfigurationManager.OpenMachineConfiguration();

ただし、実行中のUIのビットに関連付けられたMachine.Configを開きますが、 同じ値で32および64ビットマシン構成ファイルを更新する必要があります.

これを行うための既知の、安全な方法はありますか?

私の最初の本能は、UIが実際のアップデートを行うために呼び出すことができるコンソールアプリを用意し、2つの異なるフレーバーを1つ32と64ビットにすることです。

それとも、これを行うより良い方法はありますか?

役に立ちましたか?

解決

使用できるはずだと思います OpenMappedMachineConfiguration ConfigurationManagerのメソッドを使用して、特定のマシン構成ファイルを開きます。

var path = "path to desired machine config";
ConfigurationFileMap cfm = new ConfigurationFileMap(path);
Configuration config = ConfigurationManager.OpenMappedMachineConfiguration(cfm);

この方法の詳細については、こちらをご覧ください。http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.openmappymachineconfiguration(v=vs.110).aspx

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top