2010-10-12 22 views
8

Ich versuche, einen WCF-Webservice zu erhalten, der an verteilten Transaktionen teilnehmen wird. Ich bekomme immer die folgende Fehlermeldung ...Konfiguration Bindungserweiterung konnte nicht gefunden werden

Konfiguration Bindungserweiterung 'system.serviceModel/bindings/myBinding' konnte nicht gefunden werden. Stellen Sie sicher, dass diese Bindung Erweiterung ordnungsgemäß registriert ist in system.serviceModel/extensions/bindingExtensions und dass es richtig

Hier ist die 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" /> 

Dinkel

Kann jemand sehen, was falsch damit? Es macht mich verrückt!

Dank

Pete

Antwort

10

Sie beziehen sich auf eine benutzerdefinierte Bindung hier:

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

Allerdings gibt es keine benutzerdefinierten myBinding überall in der Config genannt Bindung.

Ich nehme an, Sie wirklich auf eine wsHttpBinding beziehen möchten und die myBinding Bindung Konfiguration, die Sie in Ihrer Konfigurationsdatei angegeben. Außerdem muss der Name des Dienstes mit dem vollständig qualifizierten Namen der Klasse übereinstimmen, die den Dienst implementiert - einschließlich Namespace (und auch: der Name des Vertrags, der von diesem Dienst implementiert wird und auf einem bestimmten Endpunkt verfügbar gemacht werden muss, muss alle Namespaces enthalten):

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

Sie haben Recht. Außerdem musste ich die IDistService-Schnittstelle mit einem Namespace vollqualifizieren und zusätzlich die Namespace.class der implementierenden Klasse anstelle von "DistServiceX" angeben. –

+0

Hallo Marc. Kannst du das in deine Antwort aufnehmen? Sobald die Antwort vollständig ist, kann ich sie als Antwort akzeptieren. Es wird nur für andere in Zukunft hilfreicher sein, wenn alle Probleme mit der Konfiguration in der akzeptierten Antwort erwähnt werden. –

+0

@Peter Morris: guter Punkt - Antwort ist aktualisiert. –

Verwandte Themen