问题
为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)));
}