请有人请澄清System.Threading.Timer的正确用法。
我有一个服务器客户端确认响应模型。如果在一段时间后没有收到确认,我打算做的是从服务器重新发送记录的消息。
因此,当发送第一条消息时,我存储了一个Timer;
AutoResetEvent autoEvent = new AutoResetEvent(false);
TestsTimeout timeout = new TestsTimeout(firstTest, _socket);
TimerCallback resendCallback = timeout.ResendMessage;
Timer timeoutTimer = new Timer(resendCallback, autoEvent, timeoutPeriod, timeoutPeriod);
然后,当收到对消息的确认时,我只想重置时间并发送下一条消息。
timeout.Change(0, timeoutPeriod);
现在,我按照MSDN示例,但是,0似乎立即调用回调?它是否正确?这样做的核心方法是什么?
答案 0 :(得分:1)