我随机出现这个问题,我可以使用WCFServiceClient添加/删除/更新,然后我得到错误及其随机发生......
下面是我正在使用的客户端代码......
using(WCFServiceClient client = new WCFServiceClient ())
{
//More codes here
Employee emp = new Employee()
emp = client.GetEmployeeDataById(123); //<<<ERROR
}
我将超时时间增加到两分钟但仍然相同:
<binding name="WSHttpBinding_IEmployeeService" maxReceivedMessageSize="200000" sendTimeout="00:02:00" >
//错误:
请求频道在00:00:59.9990000之后等待回复时超时。增加传递给Request的调用的超时值或增加Binding上的SendTimeout值。分配给此操作的时间可能是较长超时的一部分。
任何帮助?我见过很多帖子,但似乎没有任何修改或任何指导。
答案 0 :(得分:1)
在阅读此链接后能够解决我的问题。
避免使用Statement语句的问题 http://msdn.microsoft.com/en-us/library/aa355056.aspx
C#“using”语句导致调用Dispose()。这与Close()相同,它可能在发生网络错误时抛出异常。因为对Dispose()的调用隐式发生在“using”块的右括号中,所以这个异常源可能会被编写代码和读取代码的人忽视。这代表了应用程序错误的潜在来源。
答案 1 :(得分:0)
您可以尝试显式绑定选择,以消除您可能正在选择默认(简化配置)绑定
的情况new WCFServiceClient ("WSHttpBinding_IEmployeeService")
答案 2 :(得分:0)
我不知道你到那里的数据有多大,但是receiveTimeout呢?