我有这个 ServerSide Blazor 正在运行并且我有:
listTimer = new System.Timers.Timer();
listTimer.Interval = 1000;
listTimer.Elapsed += async (s, e) =>
{
await Utils.LogToConsole(jsRuntime, DateTime.Now.ToString());
}
`
但是当我运行它时,我在 Chrome 控制台中收到了大量日志,但我希望每 1000 毫秒只看到一次日志。任何人都看到了这个问题并找到了解决方法。是的,我可以检查实际时间并进行比较,但我不喜欢它像疯了一样触发。
最佳答案
销毁组件时必须取消订阅定时器事件。最简单的方法是处理计时器本身。
@using System
@implements IDisposable
@code {
public void Dispose()
{
listTimer?.Dispose();
}
}
关于server - Blazor 服务器端计时器正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62513021/