WCF的OpenTimeout不生效

问题

为Binding对象设置了OpenTimeout未达到预期的效果。


解决

                //打开连接
                var co = (ICommunicationObject)service;
                var ar = co.BeginOpen(null, null);
                if (ar.AsyncWaitHandle.WaitOne(new TimeSpan(0, 0, 5)))
                {
                    co.EndOpen(ar);
                }
                else
                {
                    co.Close();
                    throw new Exception(string.Format("连接网络服务{0}失败", typeof(T)));
                }



参考

WCF doesn't time out after the specified timeout

原文地址:https://www.cnblogs.com/beta2013/p/3377279.html