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>
<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
/// <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
扫一扫加作者微信
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网