Kann nicht laufen WCF-Dienst auf der Lokalen Maschine
Habe ich einen wcf-Dienst wird nur funktionieren, wenn ich der Bereitstellung auf einem server und konfigurieren Sie mithilfe von IIS. es Fehlermeldung, die ich bekomme, wenn es läuft über IIS express ist:
Den Authentifizierungsschemas auf dem host konfigurierten ('Ntlm, Anonyme') nicht erlauben, diese konfiguriert die Bindung '"BasicHttpBinding "' ("Negotiate"). Bitte stellen Sie sicher, dass der SecurityMode festgelegt ist, zu Transport-oder TransportCredentialOnly. Außerdem kann dies behoben werden durch änderung des Authentifizierungsschemas für diese Anwendung über die IIS-management-tool, durch das ServiceHost-Objekt.Die Authentifizierung.AuthenticationSchemes-Eigenschaft in der Konfigurationsdatei der Anwendung auf element, durch die Aktualisierung der ClientCredentialType-Eigenschaft auf die Bindung, oder durch anpassen der AuthenticationScheme Eigenschaft auf die HttpTransportBindingElement.
Meine web.config services binging sieht wie folgt aus:
<services>
<service name="LMS.Services.Services.AppService" behaviorConfiguration="LargeDataRequestBehavior">
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="basicHttp_LargeDataRequestBinding" contract="LMS.Services.Services.AppService" />
<endpoint address="mex" binding="basicHttpBinding" bindingConfiguration="basicHttp_LargeDataRequestBinding" contract="IMetadataExchange" />
</service> </services>
und meine Bindung sieht wie folgt aus:
<bindings>
<basicHttpBinding>
<binding name="basicHttp_LargeDataRequestBinding" receiveTimeout="01:00:00" sendTimeout="01:00:00" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" proxyCredentialType="None" realm="" >
</transport>
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
<basicHttpBinding>
</bindings>
Jegliche Hilfe würde sehr geschätzt werden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie, mit diesem Teil. Das Problem ist, dass die enum für die Art der Anmeldeinformationen Windows ordnet ein Protokoll namens zu Verhandeln. IIS ist Sie darüber informiert, dass Verhandeln nicht aktiviert wurde auf deiner website, nur die Grundlegenden (keine Sicherheit) und die Ntlm (eine andere form der Windows-Sicherheit) ist erlaubt.
WTF ist hier, dass es eine Diskrepanz zwischen "Verhandeln" und "Windows".
Aktualisieren IIS
Authentication
Einstellungen wie unten fest in meinem Fall:Disabled
Enabled