首页 > 代码库 > 【C#Windows 服务】 《三》Timer设置
【C#Windows 服务】 《三》Timer设置
一、工具:
VS2015+NET Framework4.5。
二、操作:
1、计时器设置:
2、日志代码:
三、代码:
1、日志代码:
1 /// <summary> 2 /// Windowns服务的日志记录 3 /// </summary> 4 /// <param name="dbLog"></param> 5 public static void WriteDBLogFile(string dbLog) 6 { 7 // string logfilename = HttpContext.Current.Server.MapPath("/Log") + "/log_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt"; 8 string logfilename = AppDomain.CurrentDomain.BaseDirectory + "/log_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt"; 9 System.IO.StreamWriter write;10 write = new System.IO.StreamWriter(logfilename, true, System.Text.Encoding.Default);11 write.BaseStream.Seek(0, System.IO.SeekOrigin.End);12 write.AutoFlush = true;13 if (null != write)14 {15 lock (write)16 {17 //write.WriteLine("——————————————Windowns服务的日志记录开始————————————————");18 write.WriteLine("Windowns服务的日志记录内容:" + dbLog);19 write.WriteLine("Windowns服务的日志记录时间:" + DateTime.Now);20 //write.WriteLine("——————————————Windowns服务的日志记录结束————————————————");21 write.Flush();22 }23 }24 write.Close();25 write = null;26 }
2、Timer设置代码:
1 using Common; 2 using System; 3 using System.Collections.Generic; 4 using System.ComponentModel; 5 using System.Data; 6 using System.Diagnostics; 7 using System.Linq; 8 using System.ServiceProcess; 9 using System.Text;10 using System.Threading;11 using System.Threading.Tasks;12 13 namespace WindowsServiceDB14 {15 public partial class Service1 : ServiceBase16 {17 18 System.Timers.Timer timer; //计时器19 public Service1()20 {21 InitializeComponent();22 }23 24 protected override void OnStart(string[] args)25 {26 Thread thread = new Thread(delegate ()27 {28 try29 {30 for (int i = 0; i < 10; i++)31 {32 // Utils.WriteDBLogFile("——————————————Windowns服务的日志记录开始————————————————");33 34 timer = new System.Timers.Timer();35 timer.Interval = 3000;36 timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer_Elapsed);37 timer.AutoReset = true;//设置是执行一次(false)还是一直执行(true); 38 timer.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件; 39 Utils.WriteDBLogFile("服务启动Time:" + DateTime.Now);40 }41 }42 catch (Exception ex)43 {44 45 Utils.WriteDBLogFile("服务启动失败" + ex); ;46 }47 });48 //Utils.WriteDBLogFile("——————————————Windowns服务的日志记录结束————————————————");49 thread.Name = "线程测试1";50 thread.IsBackground = true;51 thread.Start();52 }53 54 protected override void OnStop()55 {56 timer.Enabled = false;57 Utils.WriteDBLogFile("服务结束Time:" + DateTime.Now);58 }59 60 private void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)61 {62 //执行操作63 Utils.WriteDBLogFile("服务开始记录Time:" + DateTime.Now);64 65 }66 }67 }
四、总结:
【C#Windows 服务】 《三》Timer设置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。