使用C#,我想到了一些方法:
这意味着它将有一个事件,当它达到1分钟时,将会运行。
为此,我有一个应用于我的自定义方法的闭包:
public static TResult CallWebService<TResult>(Func<TResult> closure)
{
Stopwatch timer = new Stopwatch();
timer.Start();
return closure.Invoke();
}
但是,正如我们所知,Stopwatch
没有Tick
事件,例如Timer
。但是计时器不能满足我的需求。我知道还有其他几种方法可以做到这一点,但我想方设法用Stopwatcher
做到这一点。
我的情况如下:
我从Web服务调用方法,有时我会收到超时。我有很多方法可以做到这一点。我有一个静态方法,然后过滤然后作为第一类对象接收。我在CallWebService
内完成了我需要的所有工作。我将有一个计数1分钟的计时器。如果在1分钟内服务器没有回复我的请求,那么我将抛出异常。我之所以这样做,是因为古董花了大约5分钟时间用超时信息抛出异常。我使用紧凑的框架,我会异步地进行。
答案 0 :(得分:0)
不使用自己的自定义计时器,只需使用服务调用超时设置即可。通过配置设置或直接在代码中设置1分钟。超时到期后它将抛出异常,您可以捕获并采取任何必要的操作。