9

我正在尝试运行一个将参与分布式事务的 WCF Web 服务。我不断收到以下错误消息...

找不到配置绑定扩展“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" />

谁能看到这有什么问题?这让我疯狂!

谢谢

皮特

4

1 回答 1

14

您在这里指的是自定义绑定:

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

myBinding但是,在您的配置中的任何地方都没有调用自定义绑定。

我假设您确实想引用您在配置文件中指定wsHttpBindingmyBinding绑定配置。此外:服务的名称必须与实现服务的类的完全限定名称相匹配 - 包括命名空间(以及:由该服务实现并在给定端点上公开的合同的名称必须包括任何命名空间):

<service name="YourNamespace.DistServiceX">
   <endpoint
       address=""
       binding="wsHttpBinding" 
       bindingConfiguration="myBinding"
       contract="YourNamespace.IDistService" />
于 2010-10-12T20:31:09.937 回答