public static Binding GetBinding(BindingType type) { var readerQuotas = new XmlDictionaryReaderQuotas { MaxStringContentLength = 2147483647, MaxArrayLength = 2147483647 }; var basicHttpSecurity = new BasicHttpSecurity { Mode = BasicHttpSecurityMode.TransportCredentialOnly, Transport = new HttpTransportSecurity { ClientCredentialType = HttpClientCredentialType.Windows } }; if (type == BindingType.netTcp) { return(new NetTcpBinding { MaxReceivedMessageSize = 2147483647, ReaderQuotas = readerQuotas }); } if (type == BindingType.wsHttp) { return(new WSHttpBinding { MaxReceivedMessageSize = 2147483647, ReaderQuotas = readerQuotas }); } if (type == BindingType.basicHttp) { return(new BasicHttpBinding { MaxReceivedMessageSize = 2147483647, ReaderQuotas = readerQuotas, Security = basicHttpSecurity }); } throw new ArgumentException("bindingType"); }
public void DefaultValueSecurityModeMessage() { BasicHttpBinding b = new BasicHttpBinding(BasicHttpSecurityMode.Message); b.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.Certificate; DefaultValues(b); // BasicHttpSecurity BasicHttpSecurity sec = b.Security; Assert.IsNotNull(sec, "#2-1"); Assert.AreEqual(BasicHttpSecurityMode.Message, sec.Mode, "#2-2"); BasicHttpMessageSecurity msg = sec.Message; Assert.IsNotNull(msg, "#2-3-1"); Assert.AreEqual(SecurityAlgorithmSuite.Default, msg.AlgorithmSuite, "#2-3-2"); Assert.AreEqual(BasicHttpMessageCredentialType.Certificate, msg.ClientCredentialType, "#2-3-3"); HttpTransportSecurity trans = sec.Transport; Assert.IsNotNull(trans, "#2-4-1"); Assert.AreEqual(HttpClientCredentialType.None, trans.ClientCredentialType, "#2-4-2"); Assert.AreEqual(HttpProxyCredentialType.None, trans.ProxyCredentialType, "#2-4-3"); Assert.AreEqual("", trans.Realm, "#2-4-4"); // Binding elements BindingElementCollection bec = b.CreateBindingElements(); Assert.AreEqual(3, bec.Count, "#5-1"); Assert.AreEqual(typeof(AsymmetricSecurityBindingElement), bec [0].GetType(), "#5-2"); Assert.AreEqual(typeof(TextMessageEncodingBindingElement), bec [1].GetType(), "#5-3"); Assert.AreEqual(typeof(HttpTransportBindingElement), bec [2].GetType(), "#5-4"); }
/// <summary> /// 根据Session指定的信息创建BasicHttpBinding /// </summary> /// <param name="session"></param> /// <returns></returns> public static BasicHttpBinding CreateBasicHttpBinding(SessionInfo session) { BasicHttpBinding binding = new BasicHttpBinding(); BasicHttpSecurity security = new BasicHttpSecurity(); if (session.AppServerInfo.SupportHttps) { security.Mode = BasicHttpSecurityMode.Transport; security.Transport.ClientCredentialType = HttpClientCredentialType.None; } else { security.Mode = BasicHttpSecurityMode.None; } binding.Security = security; XmlDictionaryReaderQuotas quotas = new XmlDictionaryReaderQuotas(); quotas.MaxArrayLength = int.MaxValue; quotas.MaxStringContentLength = int.MaxValue; binding.ReaderQuotas = quotas; binding.MaxReceivedMessageSize = int.MaxValue; binding.MaxBufferSize = int.MaxValue; binding.MaxBufferPoolSize = int.MaxValue; binding.SendTimeout = new TimeSpan(0, 10, 0); binding.ReceiveTimeout = new TimeSpan(0, 20, 0); binding.UseDefaultWebProxy = false; return(binding); }
public static void Snippet8() { // <Snippet8> BasicHttpBinding binding = new BasicHttpBinding(); binding.Name = "binding1"; binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard; binding.Security.Mode = BasicHttpSecurityMode.Message; // <Snippet9> BasicHttpSecurity security = binding.Security; BasicHttpMessageSecurity msgSecurity = security.Message; // </Snippet9> // <Snippet10> BasicHttpSecurityMode secMode = security.Mode; // </Snippet10> // <Snippet11> HttpTransportSecurity transSec = security.Transport; // </Snippet11> Console.WriteLine("The message-level security setting is {0}", secMode.ToString()); Console.WriteLine("The transport-level security setting is {0}", transSec.ToString()); // </Snippet8> }
static void SnippetBasicHttpSecurity() { // <Snippet23> BasicHttpBinding binding = new BasicHttpBinding(); BasicHttpSecurity security = binding.Security; // </Snippet23> }
internal void InitializeFrom(BasicHttpSecurity security) { if (security == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("security"); } this.Mode = security.Mode; this.Transport.InitializeFrom(security.Transport); this.Message.InitializeFrom(security.Message); }
internal void ApplyConfiguration(BasicHttpSecurity security) { if (security == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("security"); } security.Mode = this.Mode; this.Transport.ApplyConfiguration(security.Transport); this.Message.ApplyConfiguration(security.Message); }
internal void InitializeFrom(BasicHttpSecurity security) { if (security == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("security"); } SetPropertyValueIfNotDefaultValue(ConfigurationStrings.Mode, security.Mode); this.Transport.InitializeFrom(security.Transport); this.Message.InitializeFrom(security.Message); }
/// <summary> /// BasicHttpBinding with SSL Transport Security. Provides NO message integrity. /// </summary> /// <returns></returns> public static BasicHttpBinding BasicHttpOverSSLBinding() { BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport); BasicHttpSecurity security = binding.Security; HttpTransportSecurity transportSecurity = security.Transport; transportSecurity.ClientCredentialType = HttpClientCredentialType.None; transportSecurity.ProxyCredentialType = HttpProxyCredentialType.None; transportSecurity.Realm = ""; return(binding); }
private static BasicHttpBinding CreateBasicHttpBinding() { var basicHttpBinding = new BasicHttpBinding(); var basicHttpSecurity = new BasicHttpSecurity { Mode = BasicHttpSecurityMode.Transport }; var httpTransportSecurity = new HttpTransportSecurity(); basicHttpSecurity.Transport = httpTransportSecurity; basicHttpBinding.Security = basicHttpSecurity; return(basicHttpBinding); }
private static BasicHttpBinding getHttpBinding() { #region BasicHttpBinding httpbinding = new BasicHttpBinding(); BasicHttpSecurity security = new BasicHttpSecurity(); security.Mode = BasicHttpSecurityMode.None; httpbinding.Security = security; httpbinding.MaxBufferSize = 2147483647; httpbinding.MaxReceivedMessageSize = 2147483647; return(httpbinding); #endregion }
public BasicHttpBinding GetBinding() { BasicHttpBinding binding = new BasicHttpBinding(); try { BasicHttpSecurity security = new BasicHttpSecurity(); security.Transport.ClientCredentialType = HttpClientCredentialType.Basic; security.Transport.ProxyCredentialType = HttpProxyCredentialType.None; security.Transport.Realm = String.Empty; security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName; security.Message.AlgorithmSuite = SecurityAlgorithmSuite.Default; security.Mode = BasicHttpSecurityMode.TransportCredentialOnly; binding.Name = "BasicHttpBinding_IService"; binding.CloseTimeout = new TimeSpan(0, 0, 30); binding.OpenTimeout = new TimeSpan(0, 0, 30); binding.ReceiveTimeout = new TimeSpan(0, 10, 0); binding.SendTimeout = new TimeSpan(0, 0, 30); binding.AllowCookies = false; binding.BypassProxyOnLocal = false; binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard; binding.MaxBufferSize = 999999999; binding.MaxBufferPoolSize = 999999999; binding.MaxReceivedMessageSize = 999999999; binding.MessageEncoding = WSMessageEncoding.Text; binding.TextEncoding = Encoding.UTF8; binding.TransferMode = TransferMode.Buffered; binding.UseDefaultWebProxy = true; XmlDictionaryReaderQuotas readerQuotas = new XmlDictionaryReaderQuotas(); readerQuotas.MaxDepth = 999999999; readerQuotas.MaxStringContentLength = 999999999; readerQuotas.MaxArrayLength = 999999999; readerQuotas.MaxBytesPerRead = 999999999; readerQuotas.MaxNameTableCharCount = 999999999; binding.ReaderQuotas = readerQuotas; binding.Security = security; } catch (Exception ex) { } return(binding); }
/// <summary> /// BasicHttpBinding with SSL Transport Security. Provides NO message integrity. /// </summary> /// <returns></returns> public static BasicHttpBinding BasicHttpOverSSLBinding(long maxReceivedMessageSize) { BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport); BasicHttpSecurity security = binding.Security; HttpTransportSecurity transportSecurity = security.Transport; transportSecurity.ClientCredentialType = HttpClientCredentialType.None; transportSecurity.ProxyCredentialType = HttpProxyCredentialType.None; transportSecurity.Realm = ""; if (maxReceivedMessageSize > 0) { binding.MaxReceivedMessageSize = maxReceivedMessageSize; } return(binding); }
public static void Default_Ctor_Initializes_Properties() { BasicHttpSecurity security = new BasicHttpSecurity(); // These properties are not in a public contract BasicHttpSecurityMode expectedMode = BasicHttpSecurityMode.None; BasicHttpSecurityMode actualMode = security.Mode; Assert.True(expectedMode == actualMode, String.Format("Mode expected: {0}, actual: {1}", expectedMode, actualMode)); HttpTransportSecurity transportSecurity = security.Transport; Assert.True(transportSecurity != null, "Transport property should have been non-null"); BasicHttpMessageSecurity httpSecurity = security.Message; Assert.True(httpSecurity != null, "Message property should have been non-null"); }
public static BasicHttpBinding CreateBasicHttpBinding(bool ABoolIsHttps, int AIntSendTimeOut) { BasicHttpBinding LBasicHttpBinding = new BasicHttpBinding(); TimeSpan LTimeSpan; if (AIntSendTimeOut == 0) { LTimeSpan = new TimeSpan(0, 5, 0); } else { LTimeSpan = new TimeSpan(AIntSendTimeOut * 10000000); } BasicHttpSecurity LBasicHttpSecurity = new BasicHttpSecurity(); if (ABoolIsHttps) { LBasicHttpSecurity.Mode = BasicHttpSecurityMode.Transport; LBasicHttpSecurity.Transport.ClientCredentialType = HttpClientCredentialType.None; } else { LBasicHttpSecurity.Mode = BasicHttpSecurityMode.None; } LBasicHttpBinding.Security = LBasicHttpSecurity; XmlDictionaryReaderQuotas LXmlDictionaryReaderQuotas = new XmlDictionaryReaderQuotas(); LXmlDictionaryReaderQuotas.MaxArrayLength = int.MaxValue; LXmlDictionaryReaderQuotas.MaxStringContentLength = int.MaxValue; LBasicHttpBinding.ReaderQuotas = LXmlDictionaryReaderQuotas; LBasicHttpBinding.MaxReceivedMessageSize = int.MaxValue; LBasicHttpBinding.MaxBufferSize = int.MaxValue; LBasicHttpBinding.MaxBufferPoolSize = int.MaxValue; LBasicHttpBinding.SendTimeout = new TimeSpan(0, LTimeSpan.Minutes, LTimeSpan.Seconds); LBasicHttpBinding.ReceiveTimeout = new TimeSpan(0, 10, 0); return(LBasicHttpBinding); }
private static BasicHttpBinding CreateDefaultBinding() { BasicHttpBinding binding = new BasicHttpBinding(); binding.CloseTimeout = new TimeSpan(0, 1, 0); binding.OpenTimeout = new TimeSpan(0, 1, 0); binding.SendTimeout = new TimeSpan(0, 10, 0); binding.ReceiveTimeout = new TimeSpan(0, 10, 0); binding.AllowCookies = false; binding.BypassProxyOnLocal = false; binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard; binding.MaxBufferSize = 65536; binding.MaxReceivedMessageSize = 65536L; binding.MaxBufferPoolSize = 524288L; binding.MessageEncoding = WSMessageEncoding.Text; binding.TextEncoding = Encoding.UTF8; binding.TransferMode = TransferMode.Buffered; binding.UseDefaultWebProxy = true; XmlDictionaryReaderQuotas readerQuotas = new XmlDictionaryReaderQuotas(); readerQuotas.MaxDepth = 32; readerQuotas.MaxStringContentLength = 8192; readerQuotas.MaxArrayLength = 16384; readerQuotas.MaxBytesPerRead = 4096; readerQuotas.MaxNameTableCharCount = 16384; binding.ReaderQuotas = readerQuotas; BasicHttpSecurity security = new BasicHttpSecurity(); security.Mode = BasicHttpSecurityMode.Transport; HttpTransportSecurity transport = new HttpTransportSecurity(); transport.ClientCredentialType = HttpClientCredentialType.None; transport.ProxyCredentialType = HttpProxyCredentialType.None; transport.Realm = string.Empty; security.Transport = transport; BasicHttpMessageSecurity message = new BasicHttpMessageSecurity(); message.ClientCredentialType = BasicHttpMessageCredentialType.UserName; message.AlgorithmSuite = SecurityAlgorithmSuite.Default; security.Message = message; binding.Security = security; return(binding); }
public virtual T CreateChannel() { /*binding Configuration*/ var binding = new BasicHttpBinding(); var bindingInfo = _ServiceBindings; binding.CloseTimeout = TimeSpan.FromSeconds(System.Convert.ToDouble(bindingInfo.BindingConfiguration.CloseTimeout)); binding.OpenTimeout = TimeSpan.FromSeconds(System.Convert.ToDouble(bindingInfo.BindingConfiguration.OpenTimeout)); binding.ReceiveTimeout = TimeSpan.FromSeconds(System.Convert.ToDouble(bindingInfo.BindingConfiguration.ReceiveTimeout)); binding.SendTimeout = TimeSpan.FromSeconds(System.Convert.ToDouble(bindingInfo.BindingConfiguration.SendTimeout)); binding.AllowCookies = Convert.ToBoolean(bindingInfo.BindingConfiguration.AllowCookies); binding.BypassProxyOnLocal = Convert.ToBoolean(bindingInfo.BindingConfiguration.BypassProxyOnLocal); binding.MaxBufferSize = Convert.ToInt32(bindingInfo.BindingConfiguration.MaxBufferSize); binding.MaxBufferPoolSize = Convert.ToInt64(bindingInfo.BindingConfiguration.MaxBufferPoolSize); binding.MaxReceivedMessageSize = Convert.ToInt64(bindingInfo.BindingConfiguration.MaxReceivedMessageSize); binding.TextEncoding = System.Text.Encoding.UTF8; binding.TransferMode = TransferMode.Buffered; binding.UseDefaultWebProxy = Convert.ToBoolean(bindingInfo.BindingConfiguration.UseDefaultWebProxy); /*readerQuotas Configuration*/ var readerQuotas = new XmlDictionaryReaderQuotas(); readerQuotas.MaxDepth = Convert.ToInt32(bindingInfo.BindingConfiguration.ReaderQuotas.MaxDepth); readerQuotas.MaxStringContentLength = Convert.ToInt32(bindingInfo.BindingConfiguration.ReaderQuotas.MaxStringContentLength); readerQuotas.MaxArrayLength = Convert.ToInt32(bindingInfo.BindingConfiguration.ReaderQuotas.MaxArrayLength); readerQuotas.MaxBytesPerRead = Convert.ToInt32(bindingInfo.BindingConfiguration.ReaderQuotas.MaxBytesPerRead); readerQuotas.MaxNameTableCharCount = Convert.ToInt32(bindingInfo.BindingConfiguration.ReaderQuotas.MaxNameTableCharCount); binding.ReaderQuotas = readerQuotas; /*Security Configuration*/ BasicHttpSecurity security = binding.Security; security.Mode = BasicHttpSecurityMode.None; /*Transport Security Configuration*/ HttpTransportSecurity transportSecurity = security.Transport; transportSecurity.ClientCredentialType = HttpClientCredentialType.None; transportSecurity.ProxyCredentialType = HttpProxyCredentialType.None; var factory = new ChannelFactory <T>(binding, new EndpointAddress(bindingInfo.EndpointAdress)); return(factory.CreateChannel()); }
/// <summary> /// Creates an http binding /// </summary> /// <returns>An http binding</returns> private BasicHttpBinding CreateHttpBinding() { var binding = new BasicHttpBinding { MaxReceivedMessageSize = int.MaxValue, SendTimeout = TimeSpan.FromMinutes(10), ReceiveTimeout = TimeSpan.FromMinutes(10), OpenTimeout = TimeSpan.FromMinutes(10), CloseTimeout = TimeSpan.FromMinutes(10) }; #if !SILVERLIGHT if (this.AuthenticationMode != Taupo.Common.AuthenticationMode.None) { BasicHttpSecurity basicHttpSecuritySettings = new BasicHttpSecurity() { Mode = BasicHttpSecurityMode.TransportCredentialOnly }; HttpTransportSecurity transportSecurity = new HttpTransportSecurity(); if (this.AuthenticationMode == Taupo.Common.AuthenticationMode.Basic) { transportSecurity.ClientCredentialType = HttpClientCredentialType.Basic; transportSecurity.ProxyCredentialType = HttpProxyCredentialType.Basic; } else { transportSecurity.ClientCredentialType = HttpClientCredentialType.Windows; transportSecurity.ProxyCredentialType = HttpProxyCredentialType.Windows; } basicHttpSecuritySettings.Transport = transportSecurity; binding.Security = basicHttpSecuritySettings; } binding.ReaderQuotas.MaxStringContentLength = int.MaxValue; binding.ReaderQuotas.MaxDepth = int.MaxValue; binding.ReaderQuotas.MaxArrayLength = int.MaxValue; #endif return(binding); }
/// <summary> /// 创建BasicHttpBinding,并进行默认设置 /// </summary> /// <returns></returns> public static BasicHttpBinding CreateBasicHttpBinding() { //默认启用https传输层加密,无需验证客户端证书 BasicHttpSecurity security = new BasicHttpSecurity(); security.Mode = BasicHttpSecurityMode.Transport; security.Transport.ClientCredentialType = HttpClientCredentialType.None; XmlDictionaryReaderQuotas quotas = new XmlDictionaryReaderQuotas(); quotas.MaxArrayLength = int.MaxValue; quotas.MaxStringContentLength = int.MaxValue; BasicHttpBinding binding = new BasicHttpBinding(); binding.Security = security; binding.ReaderQuotas = quotas; binding.MaxReceivedMessageSize = int.MaxValue; binding.MaxBufferSize = int.MaxValue; binding.MaxBufferPoolSize = int.MaxValue; binding.SendTimeout = new TimeSpan(0, 10, 0); binding.ReceiveTimeout = new TimeSpan(0, 20, 0); binding.UseDefaultWebProxy = false; return(binding); }
public static void Snippet5() { // <Snippet5> BasicHttpBinding binding = new BasicHttpBinding("myBinding"); binding.Name = "binding1"; binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard; binding.Security.Mode = BasicHttpSecurityMode.Message; // <Snippet6> BasicHttpSecurity security = binding.Security; BasicHttpMessageSecurity msgSecurity = security.Message; // </Snippet6> // <Snippet7> SecurityAlgorithmSuite sas = msgSecurity.AlgorithmSuite; BasicHttpMessageCredentialType credType = msgSecurity.ClientCredentialType; // </Snippet7> Console.WriteLine("The algorithm suite used is {0}", sas.ToString()); Console.WriteLine("The client credential type used is {0}", credType.ToString()); // </Snippet5> }
public static void BasicHttpSecurity_MessageSecurityMode_ThrowsPNSE(BasicHttpSecurityMode value) { var security = new BasicHttpSecurity(); Assert.Throws <PlatformNotSupportedException>(() => security.Mode = value); }
private static MatrikkelKartServiceClient CreateMatrikkelKartServiceClient(string url, string username, string password) { var binding = new BasicHttpBinding { CloseTimeout = new TimeSpan(0, 0, 1, 0), OpenTimeout = new TimeSpan(0, 0, 1, 0), ReceiveTimeout = new TimeSpan(0, 0, 10, 0), SendTimeout = new TimeSpan(0, 0, 1, 0), AllowCookies = false, BypassProxyOnLocal = false, HostNameComparisonMode = HostNameComparisonMode.StrongWildcard, MaxBufferPoolSize = 524288, MaxBufferSize = 524288, MaxReceivedMessageSize = 524288, TextEncoding = Encoding.UTF8, TransferMode = TransferMode.Buffered, UseDefaultWebProxy = true, MessageEncoding = WSMessageEncoding.Text }; var basicHttpSecurity = new BasicHttpSecurity { Mode = BasicHttpSecurityMode.TransportCredentialOnly }; var httpTransportSecurity = new HttpTransportSecurity { ClientCredentialType = HttpClientCredentialType.Basic, ProxyCredentialType = HttpProxyCredentialType.None, Realm = "default" }; basicHttpSecurity.Transport = httpTransportSecurity; var basicHttpMessageSecurity = new BasicHttpMessageSecurity { ClientCredentialType = BasicHttpMessageCredentialType.UserName, AlgorithmSuite = SecurityAlgorithmSuite.Default }; basicHttpSecurity.Message = basicHttpMessageSecurity; binding.Security = basicHttpSecurity; var endpointAddress = new EndpointAddress( new Uri(url), AddressHeader.CreateAddressHeader("contract", "", "GImatrikkelWS.MatrikkelkartPort.MatrikkelKartService")); return(new MatrikkelKartServiceClient(binding, endpointAddress) { ClientCredentials = { UserName = { UserName = username.ToLower(), Password = password } } }); }
public BasicHttpBinding(BasicHttpSecurityMode securityMode) { security = new BasicHttpSecurity(); }
public static List <BasicHttpBinding> GetBasicHttpBindings(string exeConfigPath) { if (string.IsNullOrWhiteSpace(exeConfigPath)) { return(null); } var svcSection = Read.Config.ExeConfig.GetServiceModelSection(exeConfigPath); var configs = new List <BasicHttpBinding>(); foreach ( var section in svcSection.Bindings.BasicHttpBinding.ConfiguredBindings .Cast <BasicHttpBindingElement>()) { var df = new BasicHttpBinding(); var binding = new BasicHttpBinding { Name = section.Name, MaxBufferPoolSize = section.MaxBufferPoolSize > 0 ? section.MaxBufferPoolSize : df.MaxBufferPoolSize, MaxReceivedMessageSize = section.MaxReceivedMessageSize > 0 ? section.MaxReceivedMessageSize : df.MaxReceivedMessageSize, CloseTimeout = section.CloseTimeout != TimeSpan.Zero ? section.CloseTimeout : df.CloseTimeout, OpenTimeout = section.OpenTimeout != TimeSpan.Zero ? section.OpenTimeout : df.OpenTimeout, SendTimeout = section.SendTimeout != TimeSpan.Zero ? section.SendTimeout : df.SendTimeout, ReceiveTimeout = section.ReceiveTimeout != TimeSpan.Zero ? section.ReceiveTimeout : df.ReceiveTimeout, TextEncoding = section.TextEncoding ?? df.TextEncoding, MessageEncoding = section.MessageEncoding, AllowCookies = section.AllowCookies, BypassProxyOnLocal = section.BypassProxyOnLocal, HostNameComparisonMode = section.HostNameComparisonMode, UseDefaultWebProxy = section.UseDefaultWebProxy, }; var readerQuotasSection = section.ReaderQuotas; var readerQuotas = new System.Xml.XmlDictionaryReaderQuotas(); if (readerQuotasSection != null && readerQuotasSection.MaxDepth > 0) { readerQuotas.MaxDepth = readerQuotasSection.MaxDepth; readerQuotas.MaxStringContentLength = readerQuotasSection.MaxStringContentLength; readerQuotas.MaxArrayLength = readerQuotasSection.MaxArrayLength; readerQuotas.MaxBytesPerRead = readerQuotasSection.MaxBytesPerRead; readerQuotas.MaxNameTableCharCount = readerQuotasSection.MaxNameTableCharCount; } else { readerQuotas = null; } var messageSection = section.Security.Message; var message = new BasicHttpMessageSecurity { ClientCredentialType = messageSection.ClientCredentialType, AlgorithmSuite = messageSection.AlgorithmSuite, }; var transportSection = section.Security.Transport; var transport = new HttpTransportSecurity { ClientCredentialType = transportSection.ClientCredentialType, ProxyCredentialType = transportSection.ProxyCredentialType }; var basicHttpSecurity = new BasicHttpSecurity() { Message = message, Mode = section.Security.Mode, Transport = transport }; binding.Security = basicHttpSecurity; if (readerQuotas != null) { binding.ReaderQuotas = readerQuotas; } configs.Add(binding); } return(configs); }