Die Authentifizierungsschemas, die auf dem Host ('Anonymous') konfiguriert sind, erlauben nicht diejenigen, die für die Bindung 'BasicHttpBinding' ('Negotiate') konfiguriert sind. Stellen Sie sicher, dass der SecurityMode auf Transport oder TransportCredentialOnly festgelegt ist. Dies kann auch durch Ändern der Authentifizierungsschemas für diese Anwendung über das IIS-Verwaltungstool, durch die ServiceHost.Authentication.AuthenticationSchemes-Eigenschaft, in der Anwendungskonfigurationsdatei des Elements, durch Aktualisieren der ClientCredentialType-Eigenschaft für die Bindung oder durch Anpassen geändert werden die AuthenticationScheme-Eigenschaft für das HttpTransportBindingElement.Die Authentifizierungsschemas, die auf dem Host konfiguriert sind ('Anonymous'), erlauben nicht die für die Bindung konfigurierten 'BasicHttpBinding' ('Negotiate').
Antwort
Dieser Fehler wird möglicherweise angezeigt, wenn auf dem lokalen IIS-Webserver keine Authentifizierungsmodi installiert sind. Gehen Sie zu Systemsteuerung -> Programme -> Windows-Funktionen ein- oder ausschalten
Überprüfen Sie Internet-Informationsdienste -> Wold Wide Web Services -> Sicherheit -> und aktivieren Sie Basic, Windows, Digest-Authentifizierungsmodi. Öffnen Sie IIS, navigieren Sie zu Ihrer Anwendung und gehen Sie zum Abschnitt Authentifizierung und Aktivieren Sie die erforderlichen Authentifizierungsmodi. Für mich wurden die Authentifizierungsmodi nicht sofort nach der Installation oder nach dem Neustart des Webservers angezeigt. Durch einen Neustart der Maschine wurden sie in der Webapplikation angezeigt.
Als mir das passierte, stellte ich fest, dass Visual Studio die 'Standardwebsite' als Host für meinen Dienst verwendete, wenn ich die Dienstreferenz über die Schaltfläche 'Suchen' hinzufügte. Um dies zu beheben, musste ich die Authentifizierung aktivieren, die mein Dienst auf der Standardwebsite in IIS verwendete. Da ich die Windows-Authentifizierung verwendet habe, habe ich sie für die Standardwebsite in IIS aktiviert, und dies scheint mein Problem behoben zu haben. Wenn Ihr Dienst einen anderen Auth-Typ verwendet, müssen Sie natürlich die korrekte Authentifizierung aktivieren.
Um die Authentifizierung zu konfigurieren, öffnen Sie IIS. Wählen Sie unter "Sites" die Option "Standardwebsite" und dann "Authentifizierung" aus.
Bei Bedarf - installieren Funktionen wie described above, öffnen Sie den IIS-Manager, öffnen Sie die Server-Funktionen:
öffnen Sie die Funktion "Authentifizierung":
Aktivieren/Deaktivieren der benötigten: