プラグイン システムを利用する Windows サービスがあります。プラグイン基本クラスで次のコードを使用して、DLL ごとに個別の構成を提供しています (したがって、から読み取られますplugin.dll.config
)。
string dllPath = Assembly.GetCallingAssembly().Location;
return ConfigurationManager.OpenExeConfiguration(dllPath);
これらのプラグインは WCF サービスを呼び出す必要があるため、私が直面している問題はnew ChannelFactory<>("endPointName")
、ホストされているアプリケーションの App.config でのみエンドポイント構成を検索することです。
ChannelFactory に別の構成ファイルを調べるか、何らかの方法でConfiguration
オブジェクトを挿入するように単純に指示する方法はありますか?
これにアプローチする唯一の方法は、読み取った値から EndPoint および Binding オブジェクトを手動で作成し、plugin.dll.config
それらをオーバーロードの 1 つに渡すことChannelFactory<>
です。ただし、これはホイールを再作成するように見えますが、動作とバインディング構成を多用する endPoint では非常に面倒になる可能性があります。 おそらく、構成セクションを渡すことで、EndPoint オブジェクトと Binding オブジェクトを簡単に作成する方法があるでしょうか?