public static Create ( ApplicationConfiguration configuration, |
||
configuration | ApplicationConfiguration | |
context | ||
Résultat |
public static BindingFactory Create(ApplicationConfiguration configuration, ServiceMessageContext context)
{
if (configuration == null || configuration.TransportConfigurations == null || configuration.TransportConfigurations.Count == 0)
{
return new BindingFactory(context.NamespaceUris, context.Factory);
}
BindingFactory table = new BindingFactory(context.NamespaceUris, context.Factory);
foreach (TransportConfiguration entry in configuration.TransportConfigurations)
{
if (entry.TypeName == Utils.UaTcpBindingDefault)
{
continue;
}
Type type = Type.GetType(entry.TypeName);
if (type == null)
{
throw ServiceResultException.Create(StatusCodes.BadConfigurationError, "Could not find binding type '{0}'.", entry.TypeName);
}
table.Add(entry.UriScheme, type);
}
return table;
}
#endregion
BindingFactory::Create ( string uriScheme, |
|
BindingFactory::Create ( string uriScheme, |
|
BindingFactory::Create ( string uriScheme, List |
|
BindingFactory::Create ( ApplicationConfiguration configuration ) : |
/// <summary> /// Adds the discovery url to the hosts. /// </summary> /// <param name="configuration">The configuration.</param> /// <param name="discoveryUrls">The discovery urls.</param> public virtual void InitializeDiscovery( ApplicationConfiguration configuration, StringCollection discoveryUrls) { // create the binding factory. BindingFactory bindingFactory = BindingFactory.Create(configuration, configuration.CreateMessageContext()); EndpointConfiguration endpointConfiguration = EndpointConfiguration.Create(configuration); foreach (string discoveryUrl in discoveryUrls) { // parse discovery url. Uri url = Utils.ParseUri(discoveryUrl); if (url == null) { continue; } // create endpoint. if (url.PathAndQuery.EndsWith("/discovery")) { Binding binding = bindingFactory.Create(url.Scheme, endpointConfiguration); this.AddServiceEndpoint(typeof(IDiscoveryEndpoint), binding, url, url); } } }