【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 }

四、总结:

时间: 2024-11-03 21:12:32

【C#Windows 服务】 《三》Timer设置的相关文章

MongoDB安装并设置为windows服务以使其开机自启

在MongoDB的官方下载windows平台的压缩zip文件,地址:https://www.mongodb.org/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-3.2.1.zip/download 1.解压zip文件,我的路径为:F:\StudyTools\MongoDB 2.设置数据文件路径: 在F:\StudyTools\MongoDB里面新建log和data文件夹 在F:\StudyTools\MongoDB\log里面新建mongod

Windows服务创建及安装

我们将研究如何创建一个作为Windows服务的应用程序.内容包含什么是Windows服务,如何创建.安装和调试它们.会用到System.ServiceProcess.ServiceBase命名空间的类.什么是Windows服务? Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器环境特别适合.它没有用户界面,并且也不会产生任何可视输出.任何用户消息都会被 写进Windows事件日志.计算机启动时,服务会自动开始运行.它们不要用户一定登录才运行,它们能在包括这个系统内的任何用户环

将svn-service添加到windows服务

是不是每次cmd启动svn服务,当你敲完svnserve -d -r 仓库路径,那个黑框框你却不能关掉,心理是不是很不舒服?没关系,我们可以把svnserve命令添加到windows服务中,设置成自启动就不必每天自己敲命令启动了. 首先我们来熟悉一下添加服务的命令格式,以我的电脑里svn的安装路径和svn仓库的路径为例: sc create svn binpath= "D:\SVN\bin\svnserve.exe --service -r E:\repository\svn" dis

WindowsService(Windows服务)开发步骤附Demo

1.打开VS,新建项目,选择Windows服务,然后设置目录及项目名称后点击确定. 2.展开Service1服务文件,编写service1.cs类文件,不是Service1[设计].然后修改OnStart和OnStop方法. 3.编写服务代码,这里不多说,实现简单写日志的功能...看代码,如不明白,看Demo 4.配置WindowsService安装程序.切换到设计视图,单击右键,出现菜单,单击添加安装程序. 5.在安装程序界面,选择**ProcessInstaller1,然后F4查看属性,Ac

WindowsService(Windows服务)开发步骤附Demo 【转】

转http://www.cnblogs.com/moretry/p/4149489.html 1.打开VS,新建项目,选择Windows服务,然后设置目录及项目名称后点击确定. 2.展开Service1服务文件,编写service1.cs类文件,不是Service1[设计].然后修改OnStart和OnStop方法. 3.编写服务代码,这里不多说,实现简单写日志的功能...看代码,如不明白,看Demo 4.配置WindowsService安装程序.切换到设计视图,单击右键,出现菜单,单击添加安装

设置c#windows服务描述及允许服务与桌面交互的几种方法(作者博客还有一大堆C#创建服务的文章)

方法一: 在ProjectInstaller.cs重写 install() ,Uninstall()方法 public override void Install(IDictionary stateServer)  {   Microsoft.Win32.RegistryKey system,    //HKEY_LOCAL_MACHINE/Services/CurrentControlSet    currentControlSet,    //.../Services    services

C#开发的Windows服务安装时需要“设置服务登录”

C#开发的Windows服务在安装的过程中会弹出一个"设置服务登录"对话框,要求输入用户名和密码.此时用户名和密码的形式必须以域用户的形式输入,如果没有加入域,用户名要用.\username 的格式,否则会提示错误. 注:需要设置服务登录,是因为serviceProcessInstaller的Account设置为User了,修改为LocalService安装Windows服务就不需要设置账号密码了.

C#创建windows服务搭配定时器Timer使用实例(用代码做,截图版)

功能说明:C#创建一个windows服务,服务启动时D:\mcWindowsService.txt写入数据,服务运行期间每隔两秒写入当前时间.      原理这些就不说了,三语两语说不清楚,直接贴一个实例.不能贴图片!!那个压缩文里面是word文档!!有图有真相 1.建立空白项目 2.添加创建windows服务需要的引用,选择System.ServiceProcess.   3.创建服务类,继承ServiceBase,类的源代码在后面. 4. 添加windows服务的安装类. (1)在类名或者解

Windows服务设置

[服务列表]services.msc [注册服务] 描述:在注册表和服务数据库中创建服务项. 用法:sc <server> create [service name] [binPath= ] <option1> <option2>... 选项: 注意: 选项名称包括等号.等号和值之间需要一个空格. type= <own|share|interact|kernel|filesys|rec>    (默认 = own) start= <boot|syste