Ich verwende die folgende Funktion ein System.ServiceModel.EndpointAddress
zu erstellen, wenn auf einen WCF-Dienst verbinden:Programmatically gesetzt Identität auf WCF EndpointAddress
private static EndpointAddress GetEndPointAddress(string url, EndpointIdentity identity)
{
Uri baseAddress = new Uri(url);
EndpointAddress endpointAddress = new EndpointAddress(
baseAddress,
identity,
new AddressHeaderCollection());
return endpointAddress;
}
ich in einem EndPointIdentity
übergeben muß, die von meiner Web mit dem folgenden Auszug korreliert. config:
<identity>
<dns value="Some Value" />
</identity>
Mein WCF-Dienst verwendet ein X509-Zertifikat, so scheint es, dass meine Identität X509CertificateEndpointIdentity
seinen Typen muss. Der Konstruktor hierfür verlangt, dass ich ein Zertifikat übergebe ... aber ich möchte ihm einen DNS-Wert geben, wie oben gezeigt.
Kann jemand vorschlagen, was mit meiner Annäherung falsch ist?