WCF开发框架 - BasicHttpBinding绑定的web.config与C#代码配置(支持https协议)
作者:C/S框架网|www.csframewo  发布日期:2021/07/08 10:38:43
  WCF开发框架 - BasicHttpBinding绑定的web.config与C#代码配置(支持https协议)

WCF开发框架 - BasicHttpBinding绑定的web.config与C#代码配置(支持https协议)



BasicHttpBinding绑定的web.config配置



XML Code:

<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
allowCookies
="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize
="1048576" maxBufferPoolSize="524288" maxReceivedMessageSize="1048576"
messageEncoding
="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>

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




BasicHttpBinding绑定的C# 代码:


C# Code:


/// <summary>
/// 创建BasicHttpBinding协议绑定
/// </summary>
/// <param name="ws"></param>
public static BasicHttpBinding CreateBasicHttpBinding(bool https = false)
{
  BasicHttpBinding ws
= new BasicHttpBinding();
  
  ws.Name
= "BasicHttpBinding";
  ws.MaxReceivedMessageSize
= 2147483647;//最大接收的消息大小
  
ws.MaxBufferSize = 2147483647;// 从通道接收消息的缓存大小
  
ws.MaxBufferPoolSize = 2147483647;//从通道接收消息的最大缓存数量
  
ws.CloseTimeout = new TimeSpan(0, 10, 0);
  ws.OpenTimeout
= new TimeSpan(0, 10, 0);
  ws.SendTimeout
= new TimeSpan(0, 10, 0);
  ws.ReceiveTimeout
= new TimeSpan(0, 10, 0);
  
  ws.AllowCookies
= false;
  ws.BypassProxyOnLocal
= false;
  ws.HostNameComparisonMode
= HostNameComparisonMode.StrongWildcard;
  ws.MessageEncoding
= WSMessageEncoding.Text;
  ws.TextEncoding
= Encoding.UTF8;
  ws.TransferMode
= TransferMode.Buffered;
  ws.UseDefaultWebProxy
= true;
  
  
//security节点配置 - HTTPS 协议配置
  
if (https)
  {
    ws.Security.Mode
= BasicHttpSecurityMode.Transport;
    ws.Security.Transport.ClientCredentialType
= HttpClientCredentialType.None;
    ws.Security.Transport.ProxyCredentialType
= HttpProxyCredentialType.None;
    ws.Security.Transport.Realm
= "";
  }
  
else
  {
    
//security节点配置 - HTTP协议配置
    
ws.Security.Mode = BasicHttpSecurityMode.None;
    ws.Security.Transport.ClientCredentialType
= HttpClientCredentialType.None;
    ws.Security.Transport.ProxyCredentialType
= HttpProxyCredentialType.None;
    ws.Security.Transport.Realm
= "";
  }
  
  System.Xml.XmlDictionaryReaderQuotas rq
= ws.ReaderQuotas;
  rq.MaxArrayLength
= 2147483647;//最大数组长度
  
rq.MaxBytesPerRead = 6553600;//最大每次读取长度
  
rq.MaxDepth = 6553600;// 最大节点深度
  
rq.MaxNameTableCharCount = 6553600;//最大NameTableChar的数量
  
rq.MaxStringContentLength = 2147483647;// 最大内容长度
  

  
return ws;
}

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





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


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