程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 【C#Windows 服務】 《三》Timer設置,

【C#Windows 服務】 《三》Timer設置,

編輯:關於.NET

【C#Windows 服務】 《三》Timer設置,


【C#Windows 服務】 《三》Time設置

目錄:

1.【C#Windows 服務】 《一》初入門

2.【C#Windows 服務】 《二》INI配置文件

3.【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 WindowsServiceDB
14 {
15     public partial class Service1 : ServiceBase
16     {
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                 try
29                 {
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 }

 

四、總結:

 

 記錄每一天的點滴,碼好每一行的代碼 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved