WCF开发框架 - NetTcpBinding配置web.config与C#代码配置

  WCF开发框架 - NetTcpBinding配置web.config与C#代码配置

WCF开发框架 - NetTcpBinding配置web.config与C#代码配置



NetTcpBinding绑定,web.config配置



XML Code:

<bindings>
<netTcpBinding>
<binding name="NetTcpBinding" closeTimeout="00:01:00"
openTimeout
="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
transactionFlow
="false" transferMode="Buffered" transactionProtocol="OleTransactions"
hostNameComparisonMode
="StrongWildcard" listenBacklog="10" maxBufferPoolSize="524288"
maxBufferSize
="1048576" maxConnections="10" maxReceivedMessageSize="1048576">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength
="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled
="false" />
<security mode="Transport">
<transport clientCredentialType="Transport" protectionLevel="None">
</transport>
<message clientCredentialType="None" />
</security>
</binding>

</netTcpBinding>
</bindings>


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





创建NetTcpBinding协议绑定


C# Code:


/// <summary>
/// 创建NetTcpBinding协议绑定
/// </summary>
/// <param name="https"></param>
/// <returns></returns>
public static NetTcpBinding CreateNetTcpBinding(bool https = false)
{
  NetTcpBinding ws
= new NetTcpBinding();
  
  ws.Name
= "NetTcpBinding";
  
  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.HostNameComparisonMode
= HostNameComparisonMode.StrongWildcard;
  ws.PortSharingEnabled
= false;//获取或设置一个值,该值指示是否为采用此绑定配置的连接启用 TCP 端口共享。
  
  
//ws.MaxConnections = 256;//如果修改maxConnections的值,服务会导致不正常,会报端口已经被占用
  
//ws.ListenBacklog = 10;
  

  ws.TransferMode
= TransferMode.Buffered;
  ws.TransactionProtocol
= TransactionProtocol.OleTransactions;
  ws.TransactionFlow
= false;
  
  ws.ReliableSession.Ordered
= true;
  ws.ReliableSession.InactivityTimeout
= new TimeSpan(0, 10, 0);
  
  
//security节点配置 - HTTPS 协议配置
  
if (https)
  {
    ws.Security.Mode
= SecurityMode.Transport;
    ws.Security.Transport.ClientCredentialType
= TcpClientCredentialType.None;
    ws.Security.Transport.ProtectionLevel
= System.Net.Security.ProtectionLevel.None;
    
  }
  
else
  {
    
//security节点配置 - HTTP协议配置
    
ws.Security.Mode = SecurityMode.None;
    ws.Security.Transport.ClientCredentialType
= TcpClientCredentialType.None;
    ws.Security.Transport.ProtectionLevel
= System.Net.Security.ProtectionLevel.None;
  }
  
  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框架网|原创作品.质量保障.竭诚为您服务
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

WCF开发框架 - NetTcpBinding配置web.configC#代码配置
WCF开发框架 - BasicHttpBinding绑定的web.configC#代码配置(支持https协议)
WCF开发框架之WSHttpBinding参数配置(C#代码配置+App.Config两种方案)
WCF快速开发框架 - IIS承载WCF net.tcp协议NetTcpBinding配置详解
WCF App.Config 配置参数详解:OpenTimeout, CloseTimeout, SendTimeout, ReceiveTimeout
WCF快速开发框架 - IIS承载WCF http协议BasicTcpBinding配置详解
WCF快速开发框架 - IIS承载WCF服务wsHttpBindings配置详解(HTTP协议)
系统配置 - app.config
WCFWeb Service的区别关系
Winform企业级WCF快速开发框架平台(C/S架构+WCF+DevExpress+SQL多数据库)
C/S开发框架代码生成器工具增加DevExpress版本配置
Web服务(Web Service)
C#源代码安全缺陷提高源代码质量解决方案-WCF服务配置安全
【原创】WCF开发框架 - 采用wsHttpBinding及basicHttpBinding连接https协议的WCF服务
开发平台WCF架构(Web服务)使用压缩数据双向通信测试报告
CS开发框架3.0 ADO-DirectWebService配置
C/S服务器框架WCF框架 - C/S框架
WCF开发环境客户端调试服务端跟踪代码不能命中断点解决方案
Web后端开发框架,WebApi后端主流开发框架介绍
VS开发环境配置