我的Web服务继承自System.Web.Services.Protocols.SoapHttpClientProtocol
。
我尝试设置超时:
service.Timeout = 5000; // 5 secs
但没有任何反应 - 既不是TimeoutException也不是其他任何东西。一旦我在没有任何声明的情况下尝试了它,"Connection Timed Out"
需要190秒。我认为190是奇怪的,默认值是100秒。
无论如何,Timeout Property似乎只能用于“同步”同步调用,所以在我的情况下,我不知道为什么它不起作用。
我正在调用异步方法:
service.GetInfoCompleted += service_GetInfoCompleted;
service.GetInfoAsync();
我怎么能解决我的问题?
任何帮助表示赞赏!
答案 0 :(得分:1)
由于没有“本地”方式 - 我必须实现自己的Timer。
经过时间后b.e 10秒我可以调用异步方法调用的Abort()
答案 1 :(得分:0)
您的service.GetInfoAsync()应返回IAsyncResult。您可以等待5秒钟来完成操作,如果没有,则处理超时:
var result = service.GetInfoAsync();
if(!result.AsyncWaitHandle.WaitOne(5000)){
// handle timeout
}