Программно установить идентификатор для адреса конечной точки WCF

Asked
Viewd9700

1

Я использую следующую функцию для создания 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 ответов

7

На самом деле мне нужно было создать DnsEndpointIdentity следующим образом:

 DnsEndpointIdentity identity = new DnsEndpointIdentity("Some value");