/// <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);
        }
Beispiel #2
0
        /// <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);
            }
        }