WCF超时 - WSDualHttpBinding,如何设置OperationTimeout

时间:2017-12-07 12:10:05

标签: wcf wsdualhttpbinding

我正在创建一个WSDualHttpBinding(来自代码),设置以下超时值:

 peerBinding.CloseTimeout = TimeSpan.FromSeconds(ServiceConnector_Constants.CLOSETIMEOUT);
            peerBinding.OpenTimeout = TimeSpan.FromSeconds(ServiceConnector_Constants.OPENTIMEOUT);
            peerBinding.SendTimeout = TimeSpan.FromSeconds(ServiceConnector_Constants.SENDTIMEOUT);

这些常数(用于激怒目的)值为600秒。

一个客户端连接正常,其他客户端记录以下错误:

“打开的操作未在指定的00:01:00超时内完成”

这是在以下代码行:

                            _clientFactory.Open();

                        //Log(String.Format("Create Client IN 6"));
                        LogMessage("Creating client...");
                        _serviceConnection = _clientFactory.CreateChannel();
                        LogMessage("Client Created...");

最后记录的行是“正在创建客户端”。似乎CreateChannel导致了问题。

但是我设置了值> 1分钟。无论我设定什么价值,Timeout都是 总是报告为00:01:00 !!

我不明白。

我已阅读并阅读有关此操作和OperationTimeout属性的信息。但无论如何我都找不到在WSDualHttpBinding上设置它。

任何人都可以帮忙。

由于

1 个答案:

答案 0 :(得分:0)

解决方案不是在这个优秀的SO解决方案中建议使用wsDualHTTPBinding:why NOT to use wsDualHttpBinding in client/server

现在世界上一切都很好 - 而且速度更快。