社区
C#
帖子详情
System.Timers.Timer调用入门问题
阿鹏兄
2006-12-25 04:49:33
我的代码:
timer1.Elapsed +=
new System.Timers.ElapsedEventHandler(myTimer_Elapsed);
在myTimer_Elapsed()中的代码出现异常后,为什么就不能再触发myTimer_Elapsed()事件?有什么好的办法?
...全文
259
10
打赏
收藏
System.Timers.Timer调用入门问题
我的代码: timer1.Elapsed += new System.Timers.ElapsedEventHandler(myTimer_Elapsed); 在myTimer_Elapsed()中的代码出现异常后,为什么就不能再触发myTimer_Elapsed()事件?有什么好的办法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liujia_0421
2006-12-26
打赏
举报
回复
就是防止过早地对Timer进行垃圾回收..
没它这个程序一样可以执行..
阿鹏兄
2006-12-26
打赏
举报
回复
老大: GC.KeepAlive(aTimer);
是什么意思?
liujia_0421
2006-12-25
打赏
举报
回复
我做了个测试:
static void Main(string[] args)
{
System.Timers.Timer aTimer = new System.Timers.Timer();
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 2000;
aTimer.Enabled = true;
Console.WriteLine("Press the Enter key to exit the program.");
Console.ReadLine();
GC.KeepAlive(aTimer);
}
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
try
{
throw new Exception("exception");
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
虽然抛出了异常,但只要捕获了,还是可以继续执行的..
并没有出现我上面所说的Timer可能自动关闭的情况..
liujia_0421
2006-12-25
打赏
举报
回复
奇怪,应该说不会出现你这样的情况的啊..
能不能把相关代码贴出来看下..
liujia_0421
2006-12-25
打赏
举报
回复
是不是因为Timer在出现异常的时候就自动关闭了..
试着重新启动一下看看..
阿鹏兄
2006-12-25
打赏
举报
回复
myTimer.Enabled 和 myTimer.start()调用
都是没有问题的,因为myTimer_Elapsed()已经被触发过一次,但是异常后就不能再次触发
owennol
2006-12-25
打赏
举报
回复
myTimer.Enabled = true;
myTimer.start()调用
cangwu_lee
2006-12-25
打赏
举报
回复
看看 myTimer.Enabled 的值是什么
--------------------------------------------------------------
程序,犹如人生。
阿鹏兄
2006-12-25
打赏
举报
回复
myTimer_Elapsed中本来就有try catch,但catch了以后不能再触发该事件了 。
灰太狼
2006-12-25
打赏
举报
回复
在myTimer_Elapsed中加入try catch 。
C#中Forms.
Timer
、
Timer
s
.
Timer
、Threading.
Timer
的用法分析
②
System
.
Timer
s
.
Timer
③
System
.Threading.
Timer
现分述如下: 一、
System
.Windows.Forms.
Timer
1、基于Windows消息循环,用事件方式触发,在界面线程执行;是使用得比较多的
Timer
,
Timer
Start之后定时(按设定...
c# windows服务小实例,不能使用windows.form.
timer
控件,而是使用
System
.
Timer
s
.
Timer
控件
c# windows服务小实例,不能使用windows.form.
timer
控件,而是使用
System
.
Timer
s
.
Timer
控件,否则,在启动服务后将不能出现预期的效果,本实例在VS2005+SQL2005(SQL2008)环境下已经调试通过,望能抛砖引玉。
C#多线程刷新界面卡死测试程序
1、测试
调用
委托时BeginInvoke和Invoke的表现差异 2、
System
.
Timer
s
.
Timer
多线程刷新界面 3、
System
.Threading.ThreadPool多线程刷新界面 4、
System
.Threading.Thread多线程刷新界面
C#中自定义高精度
Timer
定时器的实例教程
(3)定义在
System
.
Timer
s
.
Timer
类里
Timer
用于以用户定义的事件间隔触发事件。Windows 计时器是为单线程环境设计的,其中,UI 线程用于执行处理。它要求用户代码有一个可用的 UI 消息泵,而且总是在同一个线程中...
System
.
Timer
s
.
Timer
定时执行程序示例代码
如果是某个逻辑功能的定时,可以将code放到逻辑功能的类的静态构造函数中,在该逻辑类第一次执行时,静态构造函数会被
调用
,则定时自然启动
C#
110,549
社区成员
642,562
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章