代码改变世界

[摘抄]windows服务中的定时器timer使用

  Virus-BeautyCode  阅读(1415)  评论(0编辑  收藏  举报
本文摘抄自:
http://www.cnblogs.com/seyon/archive/2007/06/29/800304.html
原作者:seyon
感谢作者的共享

内容:

Windows服务中Timer组件Tick无法触发解决方法

Posted on 2007-06-29 15:40 seyon 阅读(207) 评论(0)  编辑 收藏 网摘 所属分类: .NET
具体原因,微软自称是Framework的bug,具体原因在:
http://www.cnblogs.com/Missvv/archive/2007/03/11/670797.html
但是无论是windows窗体中timer还是组件中的timer都是继承自System.Windows.Form.Timer,并不是我们需要的System.Timers ,继承自System.Timers 的timer只有手动创建
public Service1()
        
{
            InitializeComponent();
            
            System.Timers.Timer t 
= new System.Timers.Timer(200);//实例化Timer类,设置间隔时间为10000毫秒; 
            t.Elapsed += new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件; 
            t.AutoReset = true;//设置是执行一次(false)还是一直执行(true); 
            t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件; 
            
        }

        
public void theout(object source, System.Timers.ElapsedEventArgs e)
        
{
            SqlConnection conn 
= new SqlConnection("Server=.;UID=eaglesoft;PWD=password;DataBase=exchange");
            SqlCommand comm 
= new SqlCommand("INSERT INTO op_album(album_name,album_score,album_picscr) VALUES('1','2','3')", conn);
            conn.Open();
            comm.ExecuteNonQuery();
            conn.Close();
        }
   
这样就可以触发Elapsed事件了,注册服务一切正常,能触发该事件
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示