/// <summary> /// Gets the standard binding. /// </summary> /// <param name="bindingName">Name of the binding.</param> /// <returns></returns> public TBindingConfiguration GetStandardBinding <TStandardBinding, TBindingConfiguration> (string bindingName) where TStandardBinding : System.ServiceModel.Channels.Binding where TBindingConfiguration : StandardBindingElement, new() { TBindingConfiguration binding = null; if (!string.IsNullOrEmpty(bindingName)) { StandardBindingCollectionElement <TStandardBinding, TBindingConfiguration> bindingElement = GetStandardBindingElement <TStandardBinding, TBindingConfiguration>(); if (bindingElement != null && bindingElement.Bindings.ContainsKey(bindingName)) { binding = bindingElement.Bindings[bindingName] as TBindingConfiguration; } if (binding == null) { throw new KeyNotFoundException("bindingName"); } } else { // return in instance of the default standard binding. binding = new TBindingConfiguration(); } return(binding); }
/// <summary> /// Adds the WS HTTP binding. /// </summary> /// <param name="binding">The binding.</param> public void AddStandardBinding <TStandardBinding, TBindingConfiguration> (TBindingConfiguration bindingConfiguration) where TStandardBinding : System.ServiceModel.Channels.Binding where TBindingConfiguration : StandardBindingElement, new() { StandardBindingCollectionElement <TStandardBinding, TBindingConfiguration> bindingElement = GetStandardBindingElement <TStandardBinding, TBindingConfiguration>(); if (bindingElement.Bindings.ContainsKey(bindingConfiguration.Name)) { bindingElement.Bindings[bindingConfiguration.Name] = bindingConfiguration; } else { bindingElement.Bindings.Add(bindingConfiguration); } }