解决WCF调用多次之后没有响应的问题(添加解决方案二)
我最近遇到了一个缠扰不清的问题与WCF。 在RC1突然优良运作的应用开始断断续续地无法在发行修造.NET 3.0。 最复杂的是错误未返回,没有提供什么的调试信息。 客户调用到服务器未曾返回,但垂悬了,并且服务器没有提供故障信息。好象消息进入死区,。
在与WCF团队一些咨询以后,它被确定改变对缺省serviceThrottling的行为在修造的祸根。 缺省是16 MaxConcurrentCalls和10 MaxConcurrentSessions, 如此, 客户调用时真实地进入死区,并且服务器没有能提供任何信息,因为它没有能甚而处理他们。 在这种情况下,客户产生多条线程(~10个代理人)并且发布多个异步请求(~15)从每个代理人。 您做这种估算,并且您能看发生什么。
确定的是做二件事。 首先, < behaviors > 更新app.config文件的部分如下:
<behaviors>
<serviceBehaviors>
<behavior name="NewBehavior">
<serviceThrottling maxConcurrentCalls="50" maxConcurrentSessions="50" />
</behavior>
</serviceBehaviors>
</behaviors>
private void btnOk_Click(object sender, EventArgs e)
MyService.GetString("aaa");
private staticWcfVDSelect.VDClsServiceClient MyService = new VDItemSelect.WcfVDSelect.VDClsServiceClient();
MyService.GetString("aaa");