2012-03-27 4 views
1

Hallo, ich bin Tring diesen Artikel verwenden für ohne SSL meine Wcf-Dienst beglaubigen machenKonfiguration Bindungs ​​Erweiterung ‚system.serviceModel/Bindungen/clearUsernameBinding‘ gefunden werden konnte nicht

http://webservices20.blogspot.in/2008/11/introducing-wcf-clearusernamebinding.html

aber ich bin geting diesen Fehler wenn ich versuche zu kompilieren:

<system.serviceModel> 
<extensions> 
    <bindingExtensions> 
    <add name="clearUsernameBinding" type="ClearUsernameCollectionElement, ClearUsernameBinding" /> 
    </bindingExtensions> 
</extensions> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="ServiceBehavior"> 
     <serviceCredentials> 
     <userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="MyValidator,App_Code"/> 
     </serviceCredentials> 

     <!--To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment--> 
     <serviceMetadata httpsGetEnabled="true"/> 
     <!--To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information--> 
     <serviceDebug includeExceptionDetailInFaults="false"/> 
    </behavior> 
    <behavior name="SampleServiceBehaviour"> 
     <serviceMetadata httpsGetEnabled="true"/> 
     <serviceDebug includeExceptionDetailInFaults="false"/> 
     <serviceCredentials> 
     <userNameAuthentication userNamePasswordValidationMode="Custom" 
     customUserNamePasswordValidatorType="MyUserNameValidator, App_Code" /> 
     </serviceCredentials> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<services> 
    <service name="Service" behaviorConfiguration="SampleServiceBehaviour"> 
    <endpoint address="~/QuadraService/Service.svc" binding="wsHttpBinding" contract="IService" bindingConfiguration="Binding1"/> 
    <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/> 
    <endpoint binding="clearUsernameBinding" bindingConfiguration="myClearUsernameBinding" contract="IService" /> 
    </service> 
</services> 
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/> 
<bindings> 

    <clearUsernameBinding> 
    <binding name="myClearUsernameBinding" 
messageVersion="Soap12"> 
    </binding> 
    </clearUsernameBinding> 

    <wsHttpBinding> 

    <binding name="Binding1"> 
     <!-- UsernameToken over Transport Security --> 
     <security mode="TransportWithMessageCredential" > 
     <message clientCredentialType="UserName"/> 
     </security> 
    </binding> 
    </wsHttpBinding> 



</bindings> 

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. 
Parser Error Message: Configuration binding extension 'system.serviceModel/bindings/clearUsernameBinding' could not be found. Verify that this binding extension is properly registered in system.serviceModel/extensions/bindingExtensions and that it is spelled correctly. 

bitte help

+0

Der Fehler ist eigentlich ziemlich klar. Überprüfen Sie Ihre Datei web.config/app.config oder den Konfigurationscode, um sicherzustellen, dass die WCF-Bindungserweiterung korrekt konfiguriert ist. Es würde helfen, wenn Sie die Konfiguration in Ihre Frage stellen würden. –

+0

@SixtoSaez danke für die Antwort Ich habe den Konfigurationscode in der Frage hinzugefügt. Jetzt überprüfen Sie bitte, ob Sie einen Fehler darin finden. – Sunny

+0

Ich habe die Konfigurationsdatei überprüft und das Problem ist gelöst, aber jetzt bekomme ich einen weiteren Fehler: - "Beim Überprüfen der Sicherheit für die Nachricht ist ein Fehler aufgetreten." wenn versuchen, Service auf Client-Ende zu verwenden – Sunny

Antwort

0

Scheint so, als ob Sie die "Ein Fehler bei der Überprüfung der Sicherheit für die Nachricht" Ausnahme empfangen, weil Sie die Konfigurationsdatei auf dem Client nicht manuell geändert haben.

Der Autor erklärt im Anschluss an den in den Kommentaren:

Wie für die Desktop-Anwendung, muss der Client manuell clearUsernameBinding konfigurieren, wie in der Probe Konsolenanwendung durchgeführt. Die Grund ist, dass die ClearUsernameBinding-DLL nicht Teil von .Net 3.5 ist und auf der Clientseite bereitgestellt werden muss.

Verwandte Themen