Расширение привязки конфигурации не найдено - PullRequest
8 голосов
/ 13 октября 2010

Я пытаюсь запустить веб-сервис 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" />

Кто-нибудь может увидеть, что с этим не так?Это сводит меня с ума!

Спасибо

Пит

1 Ответ

11 голосов
/ 13 октября 2010

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

<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" />
...