将多个消息发送到wcf服务时,客户端挂起

时间:2015-08-07 05:45:12

标签: c# wcf named-pipes

我正在尝试向WCF服务发送多条消息。如果消息计数很小,它可以正常工作,但是如果我发送了很多消息(比方说50),那么发送应用程序就会挂起。它最终无法写入管道异常。

以下是发送消息的代码

for (var i=0; i< 50; i++)
    WcfChannel.SomeMethod(SomeParameter);

这是一些服务器配置代码

_host = new ServiceHost(typeof(TService));
var binding = new NetNamedPipeBinding
{
    SendTimeout = TimeSpan.FromDays(4),
    ReceiveTimeout = TimeSpan.FromDays(4),
    MaxBufferPoolSize = 2147483647,
    MaxBufferSize = 2147483647,
    MaxReceivedMessageSize = 2147483647
};
_host.AddServiceEndpoint(typeof(TInterface), binding, Address);

服务器实施

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
[CallbackBehavior(UseSynchronizationContext = false)]
public class WcfService
{ ... }

这是我在超时后得到的异常消息

  

写入管道时出错:管道正在关闭。 (232,0xe8)。

那么这里有什么问题?服务器设置有问题吗?

更新1:

如果我发送50条消息,那么我会得到例外。捕获异常后,我发送了50条消息。它工作正常。之后我发了100条消息。它也工作得很好。为什么这只是第一次发生?,

0 个答案:

没有答案