public static Create ( |
||
discoveryUrl | The discovery URL. | |
bindingFactory | The binding factory. | |
endpointConfiguration | The endpoint configuration. | |
messageContext | The message context. | |
Результат | ITransportChannel |
public static ITransportChannel Create(
Uri discoveryUrl,
BindingFactory bindingFactory,
EndpointConfiguration endpointConfiguration,
ServiceMessageContext messageContext)
{
// create a dummy description.
EndpointDescription endpoint = new EndpointDescription();
endpoint.EndpointUrl = discoveryUrl.ToString();
endpoint.SecurityMode = MessageSecurityMode.None;
endpoint.SecurityPolicyUri = SecurityPolicies.None;
endpoint.Server.ApplicationUri = endpoint.EndpointUrl;
endpoint.Server.ApplicationType = ApplicationType.DiscoveryServer;
ITransportChannel channel = CreateUaBinaryChannel(
null,
endpoint,
endpointConfiguration,
(System.Security.Cryptography.X509Certificates.X509Certificate2)null,
messageContext);
// create a WCF XML channel.
if (channel == null)
{
Binding binding = bindingFactory.Create(discoveryUrl.Scheme, endpointConfiguration);
DiscoveryChannel wcfXmlChannel = new DiscoveryChannel();
wcfXmlChannel.Initialize(
endpoint,
endpointConfiguration,
binding,
null);
channel = wcfXmlChannel;
}
return channel;
}
DiscoveryChannel::Create ( |
|
DiscoveryChannel::Create ( |
|
DiscoveryChannel::Create ( |
|
DiscoveryChannel::Create ( |
|
DiscoveryChannel::Create ( |
/// <summary> /// Creates a binding for to use for discovering servers. /// </summary> /// <param name="discoveryUrl">The discovery URL.</param> /// <param name="endpointConfiguration">The endpoint configuration.</param> /// /// <param name="applicationConfiguration">The application configuration.</param> /// <returns></returns> public static DiscoveryClient Create( Uri discoveryUrl, EndpointConfiguration endpointConfiguration, ApplicationConfiguration applicationConfiguration) { if (endpointConfiguration == null) { endpointConfiguration = EndpointConfiguration.Create(); } // check if application configuration contains instance certificate. X509Certificate2 clientCertificate = null; try { if (applicationConfiguration != null && applicationConfiguration.SecurityConfiguration != null && applicationConfiguration.SecurityConfiguration.ApplicationCertificate != null) { clientCertificate = applicationConfiguration.SecurityConfiguration.ApplicationCertificate.Find(true).Result; } } catch { //ignore errors } ITransportChannel channel = DiscoveryChannel.Create(discoveryUrl, endpointConfiguration, new ServiceMessageContext(), clientCertificate); return(new DiscoveryClient(channel)); }