Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 向wcf服务发送多条消息时客户端挂起_C#_Wcf_Named Pipes - Fatal编程技术网

C# 向wcf服务发送多条消息时客户端挂起

C# 向wcf服务发送多条消息时客户端挂起,c#,wcf,named-pipes,C#,Wcf,Named Pipes,我正在尝试向WCF服务发送多条消息。若消息计数很小,它可以正常工作,但若我发送了很多消息(比如50条),那个么发送应用程序就会挂起。它最终无法写入管道异常 这是发送消息的代码 for (var i=0; i< 50; i++) WcfChannel.SomeMethod(SomeParameter); 服务器实现 [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] [CallbackBehavio

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

这是发送消息的代码

for (var i=0; i< 50; i++)
    WcfChannel.SomeMethod(SomeParameter);
服务器实现

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
[CallbackBehavior(UseSynchronizationContext = false)]
public class WcfService
{ ... }
这是超时后得到的异常消息

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

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

更新1:


如果我发送50条消息,那么我会收到异常。捕获异常后,我又发送了50条消息。它工作得很好。在那之后,我发了100条信息。它也工作得很好。为什么只有第一次出现这种情况?,

请尝试:ConcurrencyMode=ConcurrencyMode。ServiceBehavior属性中的多个请参阅WCF服务行为:这里有一个更新。我发送了50条消息,收到了一个异常,之后我又发送了50条消息,它们工作正常。在那之后,我又发了100条信息,效果也不错。为什么它第一次不起作用?我不确定是否可以更改服务并发模式。对于单一模式有什么解决方案吗?我将并发模式更改为多模式,但仍然遇到异常,
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
[CallbackBehavior(UseSynchronizationContext = false)]
public class WcfService
{ ... }