一种服务,两种行为配置

Mij*_*lko 6 .net c# wcf

是否可以使用两种行为配置的服务?如您所知,可以有一个服务和多个端点,您可以在其中指定不同的绑定配置.但是,对于相同的服务,我需要具有不同的服务行为.

如果我尝试这样的事情:

<services>
  <service name="Service.Service1" behaviorConfiguration="Behavior1">
    <host>
      <baseAddresses>
          ...
      </baseAddresses>
    </host>

    <endpoint ...>
    </endpoint>
  </service>

  <service name="Service.Service1" behaviorConfiguration="Behavior2">
    <host>
      <baseAddresses>
          ...
      </baseAddresses>
    </host>

    <endpoint ...>
    </endpoint>
  </service>
</services>
Run Code Online (Sandbox Code Playgroud)

...我收到错误"在同一配置范围内已存在具有相同密钥的名为'service'的子元素"

我知道我可以创建继承原始服务类的新类但是有更好的解决方案吗?

And*_*dky 2

似乎您应该使用另一个服务名称注册相同的服务类。服务行为是服务配置的一部分,因此如果您想使用不同的行为,您应该配置不同的服务。我的问题是:如果您的一项服务有两种行为,那么 wcf 将如何决定使用其中一种或另一种?为什么继承的解决方案不好?