sql - 如果我在 asp:Timer 中设置间隔小于 1 秒会发生什么?
问题描述
我刚刚使用ASP.Net
Webforms
、使用asp:Timer
和asp:UpdatePanel
部分刷新页面创建了排队系统。我设置asp:Timer
Interval
为“100”,即 0.1 秒。每次部分页面刷新后,称为存储过程的页面有时运行不佳。Interval
如果我设置的时间少于 1 秒,我的问题是否有任何最佳实践?对我的系统有什么影响?
解决方案
当您的计时器在下一个滴答声之前没有足够的时间完成时,解决方案是在计时器回调本身内手动调用下一个滴答声
ReadOnly interval As Integer = 100
ReadOnly minIntervalBetweenCalls As Integer = 0
Private ReadOnly Timer2 As New System.Threading.Timer(AddressOf Timer2_Tick, Nothing, interval, -1)
Private Sub Timer2_Tick(state As Object)
Dim nextRunTime = DateTime.Now.AddMilliseconds(interval)
' run processes
Timer2.Change(Math.Max(nextRunTime.Subtract(DateTime.Now).Milliseconds, minIntervalBetweenCalls ), -1)
End Sub
数学确保下一个滴答将在当前滴答开始后 100 毫秒发生,或者在当前滴答之后立即发生,以适应超过 100 毫秒的滴答。
推荐阅读
- javascript - 如何控制描述块中 beforeAll 块的执行顺序
- java - 通过 Azure Devops 管道中的 Appcenter 任务执行 Appium 测试用例
- html - 如何从 html 传递属性值
- oracle-sqldeveloper - Oracle Sqldeveloper:命令行“连接名称”创建
- javascript - 什么是名称冲突以及 ES6 符号如何避免属性之间的名称冲突?
- office-js - `yo office` 给出错误 Spawn git ENONENT
- android - 当嵌套属性发生变化时通知 LiveData 观察者
- python - 在熊猫数据框中选择行时如何保持顺序?
- functional-programming - 如何声明一个符合函数类型的常规(非闭包)函数?
- angular - 如何使用 unsplash 在循环中生成不同的随机图像