4

カスタム ServiceHost の ApplyConfiguration メソッドをオーバーライドして、app.config ではなくデータベースから構成を読み取ろうとしています。理想的には、次のようなことができるようになりたいと思います。

構成 config = GetConfigFromMyDatabase(...);

ServiceModelSectionGroup serviceModel = ServiceModelSectionGroup.GetSectionGroup(config);

temp app.config ファイルを書き込まずにこれを行う方法はありますか?

4

3 に答える 3

4

使用について:

System.Configuration.ConfigurationManager.OpenExeConfiguration(string exePath)

これにより、任意の app.config ファイルを開くことができます。

于 2009-04-21T16:22:55.820 に答える
1

カスタム ServiceHost を作成する場合は、別の AppDomain は必要ありません。

ServiceHost には、オーバーライドできる ApplyConfiguration メソッドがあります。好きな場所から構成をロードできます。

この手法の概要を説明した関連記事については、こちらを参照してください。

于 2009-05-12T16:13:23.107 に答える
-1

一時構成ファイルを書きたくない場合でも、これを行う最善の方法は、サービスを別の AppDomain でホストすることです。

AppDomain を作成する前に、データベースから構成を取得してファイル システムに書き込みます。次に、AppDomain を作成するときに、構成ソースとしてデータベースから取得した一時構成ファイルをポイントします。

もちろん、データベース内の構成は完全な app.config ファイルである必要があります。または、残りの部分のために、他の非 serviceModel 構成ビットが含まれている何らかの種類のテンプレート構成ファイルとマージする必要があります。アプリ。

このように実装することは非常に優れたソリューションであり、うまく機能します (以前に使用したことがあります)。

于 2009-04-22T11:42:34.257 に答える