2010-11-11 144 views
1

我正在轮询特定返回值的Web服务。 (由于Web服务立即返回,使用同步调用)。如何实现这种轮询的超时时间,比如10分钟,我将停止轮询?轮询和超时

+0

你怎么投票?你能发布代码吗? – Oded 2010-11-11 11:19:23

+0

你介意在调用Web服务之前启动一个线程吗? – Koekiebox 2010-11-11 11:21:19

回答

1

我能想到的最简单的例子是一样的东西......

var service = new MyService(); 
var result = false; 
var start = DateTime.Now; 

while (!result && DateTime.Now < start.AddMinutes(10)) { 
    result = service.Execute(); 
} 
if (result){ 
    // Call successful 
} else { 
    // Routine timeout 
} 

但有更多信息将有所帮助。然后,您可能希望在另一个线程中放置类似的例程,以防止应用程序被锁定。