秒表 - 达到确定时间的事件

时间:2014-09-04 18:01:33

标签: c# events stopwatch

使用C#,我想到了一些方法:

  • 实例化秒表
  • 启动秒表
  • 当=> | TimeEllapsed of Stopwatch | > = 60000然后
  • 致电我的活动|>
  • ByRef禁用秒表并执行操作

这意味着它将有一个事件,当它达到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分钟时间用超时信息抛出异常。我使用紧凑的框架,我会异步地进行。

1 个答案:

答案 0 :(得分:0)

不使用自己的自定义计时器,只需使用服务调用超时设置即可。通过配置设置或直接在代码中设置1分钟。超时到期后它将抛出异常,您可以捕获并采取任何必要的操作。

See this example in msdn