WCF开发框架之WSHttpBinding参数配置(C#代码配置+App.Config两种方案)
作者:C/S框架网|www.csframewo  发布日期:2021/07/07 14:34:18
  WCF开发框架之WSHttpBinding参数配置(C#代码配置+App.Config两种方案)

WCF开发框架之WSHttpBinding参数配置(C#代码配置+App.Config两种方案)



app.config文件WSHttpBinding参数配置


XML Code:

<!--WCF服务客户端配置-->
<system.serviceModel>

<bindings>
<wsHttpBinding>

<binding name="wsHttpBinding" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
bypassProxyOnLocal
="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize
="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">

<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />

<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />

<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" />
<message clientCredentialType="None" establishSecurityContext="false" negotiateServiceCredential="false" />
</security>

</binding>

</wsHttpBinding>
</bindings>

</system.serviceModel>


//来源:C/S框架网 | www.csframework.com | QQ:23404761


C#代码配置


C# Code:


/// <summary>
/// 设置WSHttpBinding参数配置
/// </summary>
/// <param name="ws"></param>
public static void SetWSHttpBinding(WSHttpBinding ws)
{
  ws.Name
= "wsHttpBinding";
  ws.CloseTimeout
= new TimeSpan(0, 10, 0);
  ws.OpenTimeout
= new TimeSpan(0, 10, 0);
  ws.ReceiveTimeout
= new TimeSpan(0, 10, 0);
  ws.SendTimeout
= new TimeSpan(0, 10, 0);
  
  ws.MaxBufferPoolSize
= 2147483647;//从通道接收消息的最大缓存数量
  
ws.MaxReceivedMessageSize = 2147483647;//最大接收的消息大小
  

  ws.BypassProxyOnLocal
= false;
  ws.TransactionFlow
= false;
  ws.HostNameComparisonMode
= HostNameComparisonMode.StrongWildcard;
  
  ws.MessageEncoding
= WSMessageEncoding.Text;
  ws.TextEncoding
= Encoding.UTF8;
  ws.UseDefaultWebProxy
= true;
  ws.AllowCookies
= false;
  
  
//readerQuotas节点配置
  
System.Xml.XmlDictionaryReaderQuotas rq = ws.ReaderQuotas;
  rq.MaxArrayLength
= 2147483647;//最大数组长度
  
rq.MaxBytesPerRead = 6553600;//最大每次读取长度
  
rq.MaxDepth = 6553600;// 最大节点深度
  
rq.MaxNameTableCharCount = 6553600;//最大NameTableChar的数量
  
rq.MaxStringContentLength = 2147483647;// 最大内容长度
  
  
//reliableSession节点配置
  
ws.ReliableSession.Enabled = false;
  ws.ReliableSession.Ordered
= true;
  ws.ReliableSession.InactivityTimeout
= new TimeSpan(0, 10, 0);
  
  
//security节点配置
  
ws.Security.Mode = SecurityMode.None;
  ws.Security.Transport.ClientCredentialType
= HttpClientCredentialType.None;
  ws.Security.Transport.ProxyCredentialType
= HttpProxyCredentialType.None;
  ws.Security.Message.ClientCredentialType
= MessageCredentialType.None;
  ws.Security.Message.EstablishSecurityContext
= false;
  ws.Security.Message.NegotiateServiceCredential
= false;
}

//来源:C/S框架网 | www.csframework.com | QQ:23404761





C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇