Ich habe einen .Net-Dienst, der auf IIS 6 und WCF ausgeführt wird, für den ich zwei Endpunkte erstellen möchte. Ein Gerät mit HTTPS- und Basic-Authentifizierung, auf das von unserer DMZ aus zugegriffen wird, und ein Endpunkt ohne Sicherheit, auf den nur vom internen sicheren Netzwerk aus zugegriffen werden kann. Eine Firewall und möglicherweise .Net-Filter stellen sicher, dass der ungesicherte Dienst nicht außerhalb des sicheren Netzwerks zugänglich ist.Zwei Endpunkte für den gleichen Dienst in WCF, ein gesicherter Dienst nicht
Bisher war es nicht erfolgreich, zwei Endpunkte mit unterschiedlichen Sicherheitsparametern arbeiten zu lassen. Eine Konfiguration, die ich versuchte, ist:
<service name="My.Service">
<host>
<baseAddresses>
<add baseAddress="http://localhost/MyService/"/>
</baseAddresses>
</host>
<endpoint address="UnSecuredAccessToMyService.svc"
behaviorConfiguration="restBehavior"
name="UnSecureEndpoint"
binding="webHttpBinding"
bindingName="SomeBindingName"
bindingNamespace="http://mydomain/myservice"
contract="Domain.MyService.MyClass" />
<endpoint address="SecuredAccessToMyService.svc"
behaviorConfiguration="secBehavior"
name="SecuredEnpoint"
binding="webHttpBinding"
bindingConfiguration="customSecureBinding"
bindingName="SecBindingName"
bindingNamespace="http://mydomain/myservice"
contract="Domain.MyService.MyClass" />
</service>
<behaviors>
<endpointBehaviors>
<behavior name="restBehavior">
<webHttp />
</behavior>
<behavior name="secBehavior">
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<webHttpBinding>
<binding name="customSecureBinding">
<security mode="Transport">
<transport clientCredentialType="Basic"/>
</security>
</binding>
</webHttpBinding>
</bindings>
Die Dateien UnSecuredAccessToMyService.svc und SecuredAccessToMyService.svc wie folgt aussehen:
<%@ ServiceHost
Factory="somefactory, anotherfactory"
Service="My.Service, AnotherService"
%>
Ich bin sehr neu in WCF und .Net so zusätzliche Details könnte wirklich helfen, Dank!
nicht _bindingNamespace_ wird *** httpS ***? Der URI (oder ** baseaddress **) ist _https: // mydomain/myservice__? – Kiquenet
Ihr Namespace ist ein URI, der die XML-Elemente aus Ihren Service Binding-Metadaten eindeutig qualifiziert, damit sie eindeutig sind. Es kann ein beliebiger URI-Wert sein, aber normalerweise wird eine URL verwendet, um die Lesbarkeit zu verbessern.Das Schema http: // wird häufig verwendet, wenn Sie an diesem Ort eine Dokumentation bereitstellen möchten. –