一、需求

我们有时候可能会想要做一些定时任务,例如每隔一段时间去访问某个网站,或者下载一些东西到我们服务器上等等之类的事情,这时候windows service 是一个不错的选择。

二、实现

1、打开Visua studio2013新建一个windows Service程序,我命名为TimerService

注意,这里的.NET Framwork框架的选择要与你电脑上的框架一致,我这里选择的是4.0

2、在Service1设计器中右击空白处选择查看代码

3.在Service1.cs中设定定时的时间间隔以及定时执行的任务这里的Onstart方法定义定时器的开始执行,执行的时间间隔,以及时间间隔达到后所要执行的方法,我这里是执行了一个文件写入的方法,代码如下

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Timers; namespace TimerService
{
public partial class Service1 : ServiceBase
{
Timer timer;
public Service1()
{
InitializeComponent();
} protected override void OnStart(string[] args)
{
timer = new Timer();
timer.Elapsed += new ElapsedEventHandler(Timer_Elapsed);
timer.Start();
WriteLog("服务启动");
} protected override void OnStop()
{
timer.Stop();
timer.Dispose();
WriteLog("服务停止");
} protected void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
WriteLog("服务执行中");
} protected void WriteLog(string str)
{
string filePath = AppDomain.CurrentDomain.BaseDirectory + "Log.txt";
StreamWriter sw = null;
if (!File.Exists(filePath))
{
sw = File.CreateText(filePath);
}
else
{
sw = File.AppendText(filePath);
}
sw.Write(str + DateTime.Now.ToString() + Environment.NewLine);
sw.Close();
}
}
}

4、在Service1设计器中右击空白处,选择添加安装程序,会添加一个ProjectInstaller设计器

5、在ProjectInstaller设计器中选择serviceProcessInstaller,右击查看属性,将Account的值改为LocalSystem

6、在ProjectInstaller设计器中选择serviceInstaller1,右击查看属性,这里的ServiceName就是要在服务器的服务中显示的名称,我将其命名我TimerService

7、右击解决方案,点击生成解决方案

三、安装

1、打开刚刚新建建项目所在的文件夹,找到bin文件下面的debug文件夹,即D:\用户目录\我的文档\Visual Studio 2013\Projects\TimerService\TimerService\bin\Debug,里面有个TimerService.exe应用程序,就是我们所要执行的项目

2、打开文件夹C:\Windows\Microsoft.NET\Framework\v4.0.30319,可以看到里面有一个InstallUtil.exe的应用程序,这就是我们要的安装工具,这里的Framework的版本与我们项目的Framework版本保持一致

3、打开cmd输入cd C:\Windows\Microsoft.NET\Framework\v4.0.30319指令,然后再输入InstallUtil D:\用户目录\我的文档\Visual~1\Projects\TimerService\TimerService\bin\Debug\TimerService.exe,即可完成安装

4、启动任务管理器,点击服务,找到名称TemrService的服务,右击启动,即可将创建的定时服务启动,这里的服务名称就是我们在项目的serviceInstaller1的属性里面设置的serviceName

5、在我们的D:\用户目录\我的文档\Visual Studio 2013\Projects\TimerService\TimerService\bin\Debug文件下面会发现多了一个log.txt的文件,就是我们在项目中创建的文件,打开即可看到项目正常执行

四、卸载

要卸载应用服务也很简单,只需要在cmd中输入以下指令即可

InstallUtil /u D:\用户目录\我的文档\Visual~1\Projects\TimerService\TimerService\bin\Debug\TimerService.exe

最新文章

  1. phpstorm10.0.3破解版安装教程及汉化方法
  2. C++11 智能指针
  3. Android View 事件分发机制详解
  4. javascript 未结束的字符串常量
  5. VK Cup 2012 Qualification Round 1---C. Cd and pwd commands
  6. 恢复js文件在windows默认打开方式
  7. iPhone、iPad、iPadMini界面设计标准
  8. hibernate分页查询的实现
  9. JAVA程序员成长历程(一)
  10. javascript设计模式——代理模式
  11. Python3 与 NetCore 基础语法对比(Function专栏)
  12. jmeter操作数据库,分布式,在Linux上运行
  13. (转)python3之模块io使用流的核心工具
  14. NavicatForOracle无法连接数据库,报错ORA-28547
  15. A - Zebras
  16. Entity Framework 无法加载指定的元数据资源。
  17. windows7系统下让所有文件夹都使用同一种视图的方法
  18. golang 多个routine之间的同步
  19. 适用于 Windows 的虚拟机扩展和功能
  20. Java语言实现通过Ajax抓取后台数据及图片

热门文章

  1. JS-Array.prototype 中的方法的坑
  2. 在mpvue或者Vue中使用VUEX
  3. SpringBoot 集成mongodb(1)单数据源配置
  4. Tomcat/weblogic session失效时间的几种设置方法
  5. robot framework :List Variables-List变量及其用法
  6. linux 简单安装mongodb
  7. Node.JS实战34:远程屏幕监控?可以的
  8. .net core 自定义中间件
  9. Java判断一个日期是否在下周日期区间
  10. 初识STM8S105K心得!