WCF并发连接数的问题

原文http://www.cnblogs.com/wengyuli/archive/2010/12/27/1918109.html

在最近的开发中,总是发现人数一多就会有用户莫名其妙的界面卡死,或者直接掉线的情况,不知道是什么原因,由于项目采用的是netTcp绑定,猜想可能是并发连接的问题。于是查了一下:

在windows7中,并发连接数默认是10

  


代码

<binding name="netTcpBindConfig" closeTimeout="00:30:00" 
openTimeout="00:30:00" receiveTimeout="00:30:00" sendTimeout="00:30:00" 
transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" 
hostNameComparisonMode="StrongWildcard" listenBacklog="10" 
maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxConnections="10" 
maxReceivedMessageSize="2147483647"> 

将项目移植到windows server2008上之后,并发连接数需要改变一下,于是变成

  


代码

<binding name="netTcpBindConfig" closeTimeout="00:30:00" 
openTimeout="00:30:00" receiveTimeout="00:30:00" sendTimeout="00:30:00" 
transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" 
hostNameComparisonMode="StrongWildcard" listenBacklog="10" 
maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxConnections="1000" 
maxReceivedMessageSize="2147483647"> 

但是问题依然存在,就想到是不是需要配置一下行为,于是将行为的连接数量也改变了

  


代码

<behavior name="JXSoft.JPlan.WCFService.Behavior" > 
<serviceThrottling maxConcurrentCalls="1000" maxConcurrentInstances="1000" maxConcurrentSessions="1000"/> 
<serviceMetadata/> 
<serviceDebug includeExceptionDetailInFaults="true" /> 
<dataContractSerializer maxItemsInObjectGraph="6553600"/> 
</behavior>

 

 
问题解决,没有再出现过卡死或者掉线情况.

 

时间: 2024-10-06 09:01:56

WCF并发连接数的问题的相关文章

在 WCF 中使用高效的 BinaryFormatter 序列化

本文将定义一个 WCF 终结点行为扩展,以在 WCF 中使用更高效的 BinaryFormatter 进行二进制序列化,并实现对是否使用传统二进制序列化功能的可配置. 介绍 实现步骤 使用方法 效果   介绍 在 OEA 框架中,是使用 WCF 作为数据传输框架.但是使用 WCF 内部的二进制序列化,序列化后的数据大小,要比使用传统的 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter 类进行序列化后的数据大小要大得多.作

你真的了解:IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数 吗?

原文:你真的了解:IIS连接数.IIS并发连接数.IIS最大并发工作线程数.应用程序池的队列长度.应用程序池的最大工作进程数 吗? IIS连接数   一般购买过虚拟主机的朋友都熟悉购买时,会限制IIS连接数,这边先从普通不懂代码用户角度理解IIS连接数 顾名思义即为IIS服务器可以同时容纳客户请求的最高连接数,准确的说应该叫"IIS限制连接数" 这边客户请求的连接内容包括: 1.网站html请求,html中的图片资源,html中的脚本资源,其他需要连接下载的资源等等,任何一个资源的请求

wcf 报内部错误,无法处理该请求。怀疑是sql的问题

问题描述 wcf 报内部错误,无法处理该请求.怀疑是sql的问题 用.net 4.0 + mysql写WCF的事务处理例子. 不加sql相关的东西都没问题. 加上就报内部错误,而且没有详细错误,也不知道为什么,我在配置文件开了debug,并且都加try了,还是没有详细信息. 测试了好几次,就怀疑是SQL的这部分有问题,但是我还看不出哪里的问题.请教. [OperationBehavior(TransactionScopeRequired=true)] public void intoMoney(

WCF 服务应用程序与 服务库之间的区别

简单理解,        WCF服务库,可以认为是一个包含WCF服务以及契约定义的类库.这儿库还不能直接运行,你可以在其他项目里引用,在宿主里启用托管这个库.而WCF应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类契约的定义,可以直接看到运行的效果.此项目模板应该是基于IIS托管的程序.        前者一般考虑WCF服务设计的时候,服务类的定义为单独的库,可以为其它项目使用.提高代码的复用性.        后者在开发基于IIS托管的WCF服务程序时,比较多见,自学的时候也可以使

wcf-使用MSMQ消息队列的WCF的效率的问题。

问题描述 使用MSMQ消息队列的WCF的效率的问题. 请教个问题,WCF在使用MSMQ的时候,每次WCF程序处理MSMQ中的数据量,每秒只有几百条. 以下是测试数据 处理消息数: 180000 开始时间: [2013-11-01 15:35:27] Start To Save Log To DB. 结束时间: [2013-11-01 15:51:12] Finish To Save Log To DB. 耗时: 00:15:45 基本上算下来也就每秒190多条,以前好的时候可以达到200多条,其

Winform 调用WCF客户端,所有服务端方法在运行的时候均找不到(编译没有问题)

  今天在开发过程中遇到了一个很恶心的问题,就是Form窗体ShowDialog的时候,直接报出下面的错误: 有关调用实时(JIT)调试而不是此对话框的详细信息, 请参见此消息的结尾. ************** 异常文本 ************** System.MissingMethodException: 找不到方法:"XXX.XXX.DataObject.SPI.DataObjectColumn[] XXX.XXX.WCFClient.WCFService.ServiceClient

Winform客户端引用WCF客户端后,部分类无法正常使用

在项目中用到WCF,项目的结构是这样的: 在SPI项目中编写该解决方案中公共的类及函数: 在WCFService项目中写的是svc文件及WCF服务接口: 在Client中添加WCF服务引用的时候该WCFService项目,然后再UI项目中初始化Client的实例.通过该实例WCFService中的方法. 问题: 有时会出现这么一种情况,在UI中通过初始化Client的实例.通过该实例WCFService中的方法MethodA,该方法的入参是SPI中类ConnectionInfo的实例,然后在UI

我的WCF之旅(2):Endpoint Overview

WCF实际上是构建了一个框架,这个框架实现了在互联系统中各个Application之间如何通信.使得Developers和Architect在构建分布式系统中,无需在考虑如何去实现通信相关的问题,更加关注与系统的业务逻辑本身.而在WCF Infrastructure中,各个Application之间的通信是由Endpoint来实现的. Endpoint的结构 Endpoint包含以下4个对象: Address: Address通过一个URI唯一地标识一个Endpoint,并告诉潜在的WCF se

WCF技术剖析之十一:异步操作在WCF中的应用(下篇)

说完了客户端的异步服务调用(参阅WCF技术剖析之十一:异步操作在WCF中的应用(上篇)),我们在来谈谈服务端如何通过异步的方式为服务提供实现.在定义服务契约的时候,相信大家已经注意到了OperationContractAttribute特性具有一个bool类型的AsynPattern.该属性可以将一个服务操作定义成异步实现模式,接下来的内容主要是着眼于介绍异步操作的定义和实现原理. 一.异步操作的定义和实现原理 实现WCF异步服务操作模式在编程上具有一些限制:异步服务操作是通过两个配对的方法实现