我有一个wcf服务,当我们对服务进行40次simulatenosly调用时,我们开始在客户端看到很多时间。请参阅wcf跟踪日志的附图,按持续时间排序。服务和客户端使用标准tcp绑定在同一台机器上。
我们看到的错误是
1)套接字连接中止。这可能是由于处理消息的错误或远程主机超出接收超时或基础网络资源问题引起的。本地套接字超时为“10675199.02:48:05.4775807”。 2)System.IO.PipeException,System.ServiceModel,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089 写入管道时出错:管道正在关闭。 (232,0xe8)。
进一步测试的更新......
看起来只有当服务做了一些工作时才会发生这种情况,如果我在服务中注释掉我正在进行的工作,它会花费相同的1000/3分钟的请求而没有任何问题。
客户端与服务器有40个活动连接。
即使使用示例应用,我也会看到相同的错误。我在服务器上做了以下..
public double Add(double n1, double n2) {
for (int i = 0; i < 1000000; i++)
{
Trace.WriteLine("this is a test");
}
return n1 + n2;
}
并在客户端上执行以下操作
Action<string> a = CallService5000TimesInLoop;
for (int i = 0; i < 30; i++)
{
a.BeginInvoke("Url",null,null);
}