2009-04-28 4 views
0

Я использую следующие функции для создания System.ServiceModel.EndpointAddress при подключении к службе WCF:Программных установить идентичность на 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; 
} 

Мне нужно передать в EndPointIdentity, что коррелирует со следующим отрывком из моей сети. конфигурации:

<identity> 
    <dns value="Some Value" /> 
</identity> 

Моя службы WCF использует сертификат X509, так что кажется, что моя личность должна быть типа X509CertificateEndpointIdentity. Для этого конструктора требуется передать сертификат ... но я хочу передать ему значение dns, как показано выше.

Может ли кто-нибудь предположить, что не так с моим подходом?

ответ

5

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

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