Не удалось найти расширение привязки конфигурации

Я пытаюсь запустить веб-сервис WCF, который будет участвовать в распределенных транзакциях. Я продолжаю получать следующее сообщение об ошибке...

Не удалось найти расширение привязки конфигурации «system.serviceModel/bindings/myBinding». Убедитесь, что это расширение привязки правильно зарегистрировано в system.serviceModel/extensions/bindingExtensions и правильно написано.

Вот web.config

  <system.serviceModel>
<services>
  <service name = "DistServiceX">
    <endpoint
       address=""
       binding="myBinding"
       contract="IDistService"
     />
  </service>
</services>
<bindings>
  <wsHttpBinding>
    <binding
      name="myBinding" 
      transactionFlow="true"
      />
  </wsHttpBinding>
</bindings>

<behaviors>
  <serviceBehaviors>
    <behavior name="">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

Can anyone see what is wrong with this? It's driving me crazy!

Спасибо

Пит


person Peter Morris    schedule 12.10.2010    source источник


Ответы (1)


Вы имеете в виду пользовательскую привязку здесь:

<service name = "DistServiceX">
   <endpoint
       address=""
       binding="myBinding"
      contract="IDistService" />

Однако в вашей конфигурации нет пользовательской привязки с именем myBinding.

Я предполагаю, что вы действительно хотите сослаться на конфигурацию привязки wsHttpBinding и myBinding, которую вы указали в файле конфигурации. Кроме того: имя службы должно совпадать с полным именем класса, реализующего службу, включая пространство имен (а также: имя контракта, реализуемого этой службой и отображаемого на данной конечной точке, должно включать любые пространства имен):

<service name="YourNamespace.DistServiceX">
   <endpoint
       address=""
       binding="wsHttpBinding" 
       bindingConfiguration="myBinding"
       contract="YourNamespace.IDistService" />
person marc_s    schedule 12.10.2010
comment
Ты прав. Кроме того, мне также пришлось полностью качать интерфейс IDistService с пространством имен, а также указывать namespace.class реализующего класса вместо DistServiceX. - person Peter Morris; 13.10.2010
comment
Привет Марк. Можете ли вы включить это в свой ответ? Как только ответ будет завершен, я могу принять его как ответ. В будущем для других будет полезнее, если все проблемы с конфигурацией будут упомянуты в принятом ответе. - person Peter Morris; 14.10.2010
comment
СПАСИБО! Как разработчик интерфейса, я изо всех сил пытался найти эту проблему в Google, но вы объяснили это ОЧЕНЬ ХОРОШО. - person Mitchell Currie; 06.07.2013