У меня есть код времени, который проверяет мертвые сверстники. Я использую System.Threading.Timer для этого. Код обнаружения работает, и я называю это так:C# threading Таймер должен остановить сам асинхронный код сокета
Timer SocketKPATimer = new Timer(delegate { timedcode(state); }, null, 5000, 5000);
, где государство является StateObject, который используется для
Socket handler = state.workSocket;
и позже ...
handler.Shutdown(SocketShutdown.Both);
//I need to stop the Timer here
сам метод определен как static void timedcode(StateObject state) {...}
проблема в том, что после того, как я откладываю ct, что что-то пошло не так с сверстником, мне нужно, чтобы SocketKPATimer остановился, и я не могу. Как мне изменить временный код, чтобы я мог остановить таймер?
да, что делает это в моем testcode. Мне пришлось переместить 'state.TimerThingy = SocketKPATimer;' после создания SocketKPATimer, иначе код выдает исключение nullreference при Disposing Timer. Большое спасибо. – ZoOl007