Timer的疑问
在Asp.Net上,大致有三种Timer
System.Timers.Timer ,System.Threading.Timer , Ajax Timer
现在我遇到了棘手的问题向各位朋友求救。
通常一直使用都没有什么问题,但是这回的需求比较特殊,在一个页面中使用Timer来定时执行一段代码,然后给XML传值,而网页中有个FLASH做的管理工具一样的插件来对这些XML数据实时监控。
问题来了
如果是前两种Timer,那么在页面导航或者关闭时,Timer不能及时停止。到了别的页面,甚至导航到跨域的页面如GOOGLE什么的,Timer还在执行。
第三种因为是控件,所以不存在这个问题,但是这个Timer控件会引发PostBack,这样由于FLASH不是服务端控件,它当然没有ViewState,所以FLASH会重新加载,这样问题就来了,FLASH是监控窗口,里面用户可以手动选择开几个监控项(监控窗口),当FLASH从新加载后,又回到初始状态了,打开的FLASH监控窗口又没了,又要手动打开。
请教大家怎么解决这个问题。
曾经使用客户端的onbeforeunload事件_doPostBack()来控制让System.Timers.Timer或者System.Threading.Timer停到,但是进到后台中,System.Timers.Timer ,System.Threading.Timer 早已经对象不存在,无法关闭Timer了。