Программно установить идентичность на WCF EndpointAddress
Я использую следующую функцию для создания System.ServiceModel.EndpointAddress
при подключении к службе WCF:
private static EndpointAddress GetEndPointAddress(string url, EndpointIdentity identity)
{
Uri baseAddress = new Uri(url);
EndpointAddress endpointAddress = new EndpointAddress(
baseAddress,
identity,
new AddressHeaderCollection());
return endpointAddress;
}
Мне нужно пройти в EndPointIdentity
это соответствует следующей выдержке из моего web.config:
<identity>
<dns value="Some Value" />
</identity>
Моя служба WCF использует сертификат X509, поэтому мне кажется, что моя личность должна иметь тип X509CertificateEndpointIdentity
, Конструктор для этого требует, чтобы я передал сертификат... но я хочу передать ему значение DNS, как показано выше.
Кто-нибудь может подсказать, что не так с моим подходом?
1 ответ
Решение
На самом деле мне нужно было создать DnsEndpointIdentity следующим образом:
DnsEndpointIdentity identity = new DnsEndpointIdentity("Some value");