windows服务定时任务

public partial class TimerByThread : ServiceBase
{
public TimerByThread()
{
InitializeComponent();
}
ThreadStart ts = new ThreadStart(WriteLog.WriteLogToD);
Thread thread;
protected override void OnStart(string[] args)
{
try
{
thread = new Thread(ts);
if (true)
{
if (thread.ThreadState != System.Threading.ThreadState.Running)
{
thread.Start();
}
WriteLog.WriteLogToD();
Thread.Sleep(1000*60);
}
}
catch (Exception e)
{
WriteLog.WriteLogToD("开始时出错:" + e.Message);
}
}

protected override void OnStop()
{
try
{
if (thread.ThreadState != System.Threading.ThreadState.Stopped)
{
thread.Abort();
}
}
catch (Exception e)
{
WriteLog.WriteLogToD("停止时出错:"+e.Message);
}
}
}

时间: 2024-10-27 11:38:38

windows服务定时任务的相关文章

可视化Windows服务定时任务

思路:1.新建一个<Windows服务项目>,在里面建服务文件(可以多个),用来做要执行的任务. 2.新建一个<Windows窗体应用程序>,在这个程序里管理服务.如:安装.卸载.启动.停止. 示例(定时写日志): 1.新建解决方案,如图: 2.LogService里新建2个服务文件: 3.打开服务文件,右键: 4.设置属性: 5.在服务文件的OnStart事件里写要执行的任务. 6.在应用程序里对服务进行控制. 7.注意:把服务的文件copy到应用程序中. 最后:附上源码:

windows服务+定时任务(quartz.net)+nancy

需求一:软件要能在操作系统启动后,自动运行因为操作系统是windows 10,所以最先想到的是windows服务,因为windows服务有个自动启动选项,设为true就行了..net做这个最合适了,可以建windows服务项目. 需求二:包含N个任务,要求每天.每周.每月都可以执行,时间可自己设置面对这个需求,很明显Timer不适合了,最先想到的便是Quartz.net,因为这个东西之前也用过,所以就用它了.满足需求绰绰有余.有一点需要说明的是,具体时间是保存在数据库里面的,服务在从数据库读取到

C#使用定时任务框架Windows.TaskSchedule.exe安装控制台应用程序创建的Windows服务

上一篇介绍了利用模板创建.安装以及卸载Windows服务,本篇继续研究这个话题,不过是创建控制台程序,使用Windows.TaskSchedule.exe安装. 为什么要使用控制台程序?--调试简单粗暴.哈哈. 创建控制台应用程序项目后,我们编辑服务主体代码,我们继续向文本文件中写入一句话. 在实现具体逻辑前,我们需要引用Windows.TaskSchedule.Extends.dll,服务类继承 IJob . 1 using System; 2 using System.Configurati

定时任务-C#线程类 windows服务

原理 最常用的就是C#中 timer类写一个定时方法,然后在把他宿主到windows服务里面. C#中Timer分类 关于C# Timer类  在C#里关于定时器类就有3个 C# Timer使用的方法1.定义在System.Windows.Forms里 C# Timer使用的方法2.定义在System.Threading.Timer类里  " C# Timer使用的方法3.定义在System.Timers.Timer类里 ◆System.Windows.Forms.Timer 应用于WinFor

C#-Windows服务+Quartz定时任务

Windows服务中,因为需要精确到特定时间执行,用Quartz代替定时器Timer. 顺便一提,Quartz如果在网页的项目中使用,Quartz会因为网页的关闭而停止,所以和Windows服务搭配较为理想. 1.新建服务 可以参考:https://www.cnblogs.com/ywkcode/p/11569593.html 2.Quartz使用 可以参考:https://www.cnblogs.com/ywkcode/p/11110126.html 代码如下: (1)创建任务 新建“Upda

使用Topshelf快速搭建Windows服务

创建一个windows服务用于同步SqlServer数据到Elasticsearch 新建elasticsearch索引 PUT:http://localhost:9200/index_singer/ { "settings": { "number_of_shards": 5, "number_of_replicas": 1 }, "mappings": { "singer_index": { "

windows 服务实现定时任务调度(Quartz.Net)

我们通常在一些情况下需要软件具有一个自动执行某些任务的功能,但是又不希望直接启动软件,或者每次都要手动的来启动软件,这时我们可可以考虑到windows服务了. 首先创建一个windows服务项目(详细信息请参阅:C#创建Windows Service(Windows 服务)基础教程) 在创建好的项目中点击“单击此处切换到代码视图”切换到代码 我们主要关注一下两个方法: • OnStart – 控制服务启动 • OnStop – 控制服务停止 例: 1 public partial class S

Quartz.Net在windows服务中的使用

写在前面 这几天在弄一个项目,需要定时抓取一些数据,当时也想直接用timer算了.因为之前也弄过这样的项目,但是一想,已经用过了,再去使用同一种思路,未免太乏味了.就换了一种新玩法.这里将之前看到的一篇文章中提出的一个思路,在这个项目中实践了一下,发现乐在其中. Quarzt.net [转]C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe 这篇文章,给了一种好玩的方式,并且自己也实践了一下,而且也确确实实在项目中用到了. 简单一个demo,先熟悉如

C#实现对Windows 服务安装

Windows服务作用:定时用户消息推送,WEB程序实时统计等 Windows服务创建:C#创建服务的方式也有很多种,建议大家在做之前可以先全面了解一下这方面东西再去动手这样便于解决中间遇到一些比较棘手的小问题. 主要说一种通过SC命令实现服务的创建.修改.查询.卸载.开始.暂停,具体服务工作的业务可以另行完善. 1,创建一个控制台程序,当然也可以写个winform或者其他XXX 2,在创建好的项目中新建一个服务 创建完服务,剩下的就需要代码实现了. 思路:我们将通过模拟在命令窗中输入SC服务命