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