2010-10-12 99 views
8

我正在嘗試運行WCF web服務,它將參與分佈式事務。我不斷收到以下錯誤消息...無法找到配置綁定擴展

無法找到配置綁定擴展名'system.serviceModel/bindings/myBinding'。驗證此綁定擴展在system.serviceModel /擴展/ 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" /> 

任何人都可以看到什麼是這個錯誤?這讓我瘋狂!

感謝

皮特

回答

10

你指的是一個自定義綁定在這裏:

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

然而,沒有綁定稱爲myBinding在你的配置在任何地方習俗。

我假設您確實想要參考您在配置文件中指定的wsHttpBindingmyBinding綁定配置。此外:服務的名稱必須與實現服務的類的完全限定名稱相匹配 - 包括名稱空間(還有:由該服務實現並在給定端點上公開的合同的名稱必須包含任何名稱空間):

<service name="YourNamespace.DistServiceX"> 
    <endpoint 
     address="" 
     binding="wsHttpBinding" 
     bindingConfiguration="myBinding" 
     contract="YourNamespace.IDistService" /> 
+0

你是對的。另外,儘管我還必須使用命名空間完全質量IDistService接口,並且還要指定實現類的namespace.class,而不是「DistServiceX」 – 2010-10-13 10:56:02

+0

Hi Marc。你可以在你的迴應中包括這一點嗎?一旦答覆完成,我可以接受它作爲答案。如果在接受的答案中提及配置的所有問題,它將在未來對其他人更有用。 – 2010-10-14 10:25:25

+0

@彼得莫里斯:好點 - 答案已更新。 – 2010-10-14 10:31:38