自己ホスト型の WCF サービスがたくさんあります。すべてが正常に機能していますが、結果の構成を正規化/簡素化する方法を探しています。できるだけ単純化しましたが、それでも満足できません。現在、私の設定は次のようになっています。
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="BindingConfiguration" ...>
...
</binding>
</netTcpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
...
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="ServiceBehavior" name="Name1">
<endpoint address="net.tcp://localhost:8080/name1" binding="netTcpBinding" bindingConfiguration="BindingConfiguration" contract="Contract1">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</service>
<service behaviorConfiguration="ServiceBehavior" name="Name2">
<endpoint address="net.tcp://localhost:8080/name2" binding="netTcpBinding" bindingConfiguration="BindingConfiguration" contract="Contract2">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</service>
...
</services>
</system.serviceModel>
全部で 6 つのサービスがあるため、繰り返しになります。理想的には、私はしたいです:
- 「localhost:8080」を1回だけ指定して全サービスで共有し、差分(「name1」または「name2」)のみを指定する場合
- ID 情報を 1 回だけ指定し、すべてのサービス定義間で共有する
最初のポイントとして、ベース アドレスについては認識していますが、それはサービス レベルでのみ機能し、個別のサービス間では機能しません。2 つ目のポイントとして、ID 情報をエンドポイントの動作に移動しようとしましたが、サポートされていないようです。
この構成を簡素化するためにできることはありますか? または、コードベースの構成アプローチに切り替える唯一のオプションですか?