方案: WCF服务正在运行。客户端正在尝试连接到该服务并使用该服务上的方法。服务挂起2-3分钟,然后返回超时。
所有超时值都设置为10秒。
binding.CloseTimeout = TimeSpan.FromSeconds(_timeout);
binding.OpenTimeout = TimeSpan.FromSeconds(_timeout);
binding.SendTimeout = TimeSpan.FromSeconds(_timeout);
binding.ReceiveTimeout = TimeSpan.FromSeconds(_timeout);此外,客户机还将其InnerChannel.OperationTimeout设置为TimeSpan.FromSeconds(_timeout)。
_timeout来自app.config文件,是值"10“。
连接看起来很好,它调用间歇性失败的方法,并在120-180秒后超时。
在尝试在超时后立即发送命令(基本上是重复调用)时,它发送和接收都很正常。
这里我漏掉了什么?还需要设置什么来确保客户端在超时之前没有坐上2-3分钟?
我找到的所有文章都涉及这五个超时值(Close、Open、Send、Receive和Operation)。
绑定的类型为BasicHttpBinding。
发布于 2017-05-24 03:00:00
服务端和客户端似乎都需要这些超时。服务端没有设置超时值。一旦被放置,问题似乎已经自我调和。
https://stackoverflow.com/questions/44141758
复制相似问题