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