2012-02-08 24 views
1

WCFサービスで.NET拡張機能を使用しています。これは、起動時に拡張子フォルダがdllファイルであるかどうかがチェックされ、存在する場合は拡張子として読み込まれることを意味します。設定ファイルと拡張子

エクステンションにはエンドポイントを持つ独自の設定ファイルがあるかもしれませんが、WCFサービス内から拡張機能を実行すると、WCFサービスのappdomainで実行されます。つまり、WCFサービスのweb.configが使用されます。エンドポイントを特定します。

はい私はweb.configにエンドポイントを移動することができますが、私がこれを行うと、拡張がより拘束され、これは私が思う拡張の考えではありません。

おそらく、拡張DLL内でappdomainを一時的に変更することもできますが、これは本当に正しい方法ですか?これは、.NET 4.0で新しく追加され

string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); 

      ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap() { ExeConfigFilename = path + @"\MyExtension.dll.config" }; 
      //ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap() { ExeConfigFilename = path + @"\unittesting.dll.config" }; 


      Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); 

      ConfigurationChannelFactory<MyExtension.MyExtentionManService.GetObjectResponderInterface> factory = new ConfigurationChannelFactory<GetObjectResponderInterface>("GetObjectResponderPort", configuration, null); 

答えて

1

ソリューションは、次のコードを使用することです。

関連する問題