1
我有一堆自托管的WCF服务。一切工作正常,但我正在寻找方法来规范化/简化结果配置。我尽可能简化了它,但我仍然不高兴。目前,我的配置看起来像这样:简化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”或“NAME2”)
- 只有指定的身份信息一次和所有服务定义之间共享
我的第一点,我知道base addresses,但只适用于服务级别,而不是跨单独的服务。至于我的第二点,我尝试将身份信息转移到端点行为中,但似乎并不支持。
有什么我可以做的简化这个配置?或者是我唯一的选择切换到基于代码的配置方法?
无赖 - 害怕这一点。不管怎么说,还是要谢谢你。 – 2010-04-09 13:00:14