Расширение WCF endpointBehaviors не обнаружено при наличии имени param?

Я пытаюсь расширить поведение моей конечной точки службы с помощью пользовательского MessageInspector, расширение работает нормально и оно подобрано, но только если я не определяю параметр "name" в теге поведения и не определяю конкретное поведение ConConfiguration на конечной точке. Это означает, что я расширяю все конечные точки, а это то, чего я не хочу. Может ли кто-нибудь объяснить мне, что я делаю не так?

Этот конфиг не подхватывает myBehaviour расширение и не подведет.

<system.serviceModel>
   <services>
      <service name="testService">
        <endpoint address="http://localhost:9999/TestServiceService"
                  binding="wsHttpBinding"
                  contract="ITestService "
                  behaviorConfiguration="myBehaviour"
                  />
        <endpoint address="mex"
                  binding="mexHttpBinding" 
                  contract="IMetadataExchange"
                  />
      </service>
  </services>
  <behaviors>
      <endpointBehaviors>
        <behavior name="myBehaviour">
          <HeaderForwardExtension />
        </behavior>
      </endpointBehaviors>
  </behaviors>
  <extensions>
     <behaviorExtensions>
        <add name="HeaderForwardExtension" type="Test.Service.HeaderForwardBehavior, Test.Service, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
     </behaviorExtensions>
  </extensions>
</system.serviceModel>

Однако удаление

behaviorConfiguration="myBehaviour"

и изменение тега поведения, чтобы имя не присутствовало

 <behavior>
    <HeaderForwardExtension />
 </behavior>

работает просто отлично.

Спасибо

1 ответ

Похоже, WCF вообще не подбирает ваш сервис и конфигурацию конечной точки. Возможно, потому что в вашем атрибуте контракта есть пробел. Таким образом, WCF по умолчанию использует конечную точку по умолчанию, определенную в файле конфигурации компьютера, что приводит к применению поведения по умолчанию. Проверьте название вашей услуги и контракта, убедитесь, что они соответствуют вашему коду.

http://blogs.msdn.com/b/endpoint/archive/2009/06/30/service-configuration-improvements-in-net-4.aspx

Другие вопросы по тегам