读书人

【】WCF 多客户端同时连接网络限速时

发布时间: 2012-02-05 12:07:15 作者: rapoo

【【高分】】WCF 多客户端同时连接,网络限速时后续服务失败
如题,因为接触WCF 不久,对其内部机制了解未深入……下面描述一下问题:(注——限速为P2P限速)

网络不限速:一切正常
网络限速,局域网内无人下载东西时:一切正常
网络限速,局域网内无人下载东西时,少量客户端连接时(例如三五十个客户端):正常

网络限速,局域网内无人下载东西时,客户端连接到一定量时,已经连接的客户端会服务失效,新连接的客户端前几次请求数据(同步或异步)都正常:但后续的请求操作将抛出异常:通信对象 System.ServiceModel.Channels.ServiceChannel 无法用于通信,因为其处于“出错”状态。挂了……

补充:服务端和客户端配置maxBufferSize="2147483647"等等都已经放到最大化!!!

请高手分析是啥原因,并方便的话提出可行的解决方案,若成功解决,高分酬谢。100分暂时的,解决问题后至少300分,或者更多。。。。

[解决办法]
你用的什么 Binding
[解决办法]
带宽被限制了,那你可以采用消息压缩 减少传输数据的大小

http://jinnan.blog.51cto.com/1789230/340937

里面有参数介绍,你也可以修改参数值
[解决办法]
看样子是连接数达到限制了。

不知道你的 Service 是哪种模型? Single ? PreSession ? PreCall ?

连接实例的默认值是 16,可以通过配置修改一下:

http://msdn.microsoft.com/zh-cn/library/ms731379.aspx
[解决办法]
我指的是并发实例数
[解决办法]
@__@ 限速了啊。

把 Receieve 的一些 Timeout 时间改大一些呢?
[解决办法]
InactivityTimeout

MaxTransferWindowSize

都应该设置一下 具体看#4连接
[解决办法]
这是个有趣的场景,可以模拟一下。

我想问问你现在 ServiceInstance 是哪一种?

读书人网 >Web Service

热点推荐