我正在c#上开发一个聊天应用程序,并且我们使用system.timer.timer来频繁获取新请求和区域请求的数据。
所有的东西都运行正常,但是当我从应用程序退出时,这个系统计时器仍然在后台运行并产生错误。所以我在注销时处理所有系统计时器。
请帮助我。
提前致谢
答案 0 :(得分:1)
退出时需要致电Stop()
。
答案 1 :(得分:0)
我想象你已经尝试Stop()
和Close()
了。如果是这样,解决方案可能是:在关闭期间,应用程序使Sleep()
几秒钟主线程让定时器的线程释放之前分配的资源。
应用程序中也可能存在一个错误,由于某种原因会阻止计时器的线程,但是很难对我说,你应该自己检查一下。
希望这会有所帮助。
问候。
答案 2 :(得分:0)
我会说这是阻止你的程序的其他东西。 System.Timers.Timer在线程池中创建一个线程,这意味着它是一个后台线程,这意味着它会在你的主线程关闭时关闭。
我认为这是您在timer_elapsed函数中执行的请求,该函数在主线程上运行。