我已經在類級別中刪除了System.Timers.Timer
對象並在constructor.started中創建了另一種方法中的定時器。GC.KeepAlive()和System.Timers.Timer
在已啓用的事件處理程序啓用屬性設置爲false並執行一些代碼,並再次啓用設置爲true。
我正在獲取每個層間的流逝事件。 問題是aftre過了一段時間停滯了。
我懷疑GC收集的計時器對象在已啓用事件hanler eventhadler中將啓用了momment的屬性設置爲false。
所以我想我的計時器對象設置爲保持活着。
我應該在我的項目中聲明GC.KeepAlive(timer)
?
我知道這是一個老問題,但我有同樣的問題,但我有代碼包裝在try catch中,最終如這裏所建議的,它似乎仍然每隔一段時間都會停止。還有什麼可能導致這個? – 2018-01-17 15:20:03
@AdamWilson Offhand,我想不出任何會導致這個問題的東西,除非其他一些代碼將'Enabled'設置爲'false'。我的建議是發佈一個包含相關代碼的問題。也許別人會有一些洞察力。 – 2018-01-17 21:51:17