• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#添加Windows服务 定时任务

C#添加Windows服务 定时任务

作者:大西瓜3721 字体:[增加 减小] 来源:互联网 时间:2017-05-28

大西瓜3721 通过本文主要向大家介绍了等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例为大家分享了C#添加Windows服务的具体方法,供大家参考,具体内容如下

源码下载地址:http://xiazai.weikejianghu.com/201701/yuanma/Windowsservice1(weikejianghu.com).rar

步骤一、创建服务项目。

步骤二、添加安装程序。

步骤三、服务属性设置 【serviceInstaller1】。

4.1 添加定时任务

public partial class SapSyn : ServiceBase
 {
 System.Timers.Timer timer1; //计时器
 System.Timers.Timer timer2; //计时器
 System.Timers.Timer timer3; //计时器
 System.Timers.Timer timer4; //计时器
 public SapSyn()
 {
  InitializeComponent();
 }

 protected override void OnStart(string[] args)
 {
  
  timer1 = new System.Timers.Timer();
  timer1.Interval = 8000; //设置计时器事件间隔执行时间
  timer1.Elapsed += new System.Timers.ElapsedEventHandler(TMStart1_Elapsed);
  timer1.Enabled = true;

  timer2 = new System.Timers.Timer();
  timer2.Interval = 8000; //设置计时器事件间隔执行时间
  timer2.Elapsed += new System.Timers.ElapsedEventHandler(TMStart2_Elapsed);
  timer2.Enabled = true;

  timer3 = new System.Timers.Timer();
  timer3.Interval = 8000; //设置计时器事件间隔执行时间
  timer3.Elapsed += new System.Timers.ElapsedEventHandler(TMStart3_Elapsed);
  timer3.Enabled = true;

  timer4 = new System.Timers.Timer();
  timer4.Interval = 8000; //设置计时器事件间隔执行时间
  timer4.Elapsed += new System.Timers.ElapsedEventHandler(TMStart4_Elapsed);
  timer4.Enabled = true;

 }
 
 protected override void OnStop() //服务停止执行
 {
  using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\log.txt", true))
  {
  sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "Stop.");
  }
  this.timer1.Enabled = false;
  this.timer2.Enabled = false;
  this.timer3.Enabled = false;  
  this.timer4.Enabled = false;
 }


 protected override void OnPause()
 {
  //服务暂停执行代码
  base.OnPause();
 }
 protected override void OnContinue()
 {
  //服务恢复执行代码
  base.OnContinue();
 }
 protected override void OnShutdown()
 {
  //系统即将关闭执行代码
  base.OnShutdown();
 }

 
 private void TMStart1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
 { 
  //执行SQL语句或其他操作
  using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\" + 1 + "log.txt", true))
  {
  sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "Start.");
  }
 }
 private void TMStart2_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
 { 
  //执行SQL语句或其他操作
  using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\" + 2 + "log.txt", true))
  {
  sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "Start.");
  }
 }
 private void TMStart3_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
 { 
  //执行SQL语句或其他操作
  using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\" + 3 + "log.txt", true))
  {
  sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "Start.");
  }
 }

 private void TMStart4_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
 { 
  //执行SQL语句或其他操作
  using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\" + 4 + "log.txt", true))
  {
  sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "Start.");
  }
 }



 }
</div>

4.2 设置服务启动方式为自动启动

[RunInstaller(true)]
 public partial class ProjectInstaller : System.Configuration.Install.Installer
 { 
 public ProjectInstaller()
 {
  InitializeComponent();
  this.Committed += new InstallEventHandler(ProjectInstaller_Committed);
 }
 private void ProjectInstaller_Committed(object sender, InstallEventArgs e)
 {
  //参数为服务的名字
  System.ServiceProcess.ServiceController controller = new System.ServiceProcess.ServiceController("ServiceSapSyn");
  controller.Start();
 }
 private void serviceInstaller1_AfterInstall(object sender, InstallEventArgs e)
 {

 }
 }

</div>

步骤五、脚本配置。

安装服务脚本

卸载服务脚本

5.1 停止或启动服务的代码

public partial class Form1 : Form
 {
 public Form1()
 {
  InitializeComponent();
 } 
 public string thispath = Application.StartupPath; 
 public string Propath = ""; 
 private void Form1_Load(object sender, EventArgs e)
 {
  this.Text = "启动服务";
 }

 /// <summary>
 /// 启动服务
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void button1_Click(object sender, EventArgs e)
 {
  Cursor = Cursors.WaitCursor;
  string StarPath = @"%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe " + Propath;


  FileStream fs = new FileStream(thispath + "\\Install.bat", FileMode.Create);
  StreamWriter sw = new StreamWriter(fs);
  try
  {
  sw.WriteLine(StarPath);
  sw.WriteLine("Net Start ServiceTest");
  sw.WriteLine("sc config ServiceTest start= auto");
  }
  catch (Exception ex)
  {
  MessageBox.Show(ex.Message.ToString());
  }
  finally
  {
  sw.Close();
  fs.Close();
  }
  System.Diagnostics.Process.Start(thispath + "\\Install.bat");
  this.Text = "启动服务:你选择的服务已经启动。";
  Cursor = Cursors.Default;
 }

 /// <summary>
 /// 停止服务
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void button2_Click(object sender, EventArgs e)
 {
  Cursor = Cursors.WaitCursor;

  string StarPath = @"%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u " + Propath;

  FileStream fs = new FileStream(thispath + "\\Uninstall.bat", FileMode.Create);
  StreamWriter sw = new StreamWriter(fs);
  try
  {
  sw.WriteLine(StarPath); 
  }
  catch (Exception ex)
  {
  MessageBox.Show(ex.Message.ToString());
  }
  finally
  {
  sw.Close();
  fs.Close();
  }
  System.Diagnostics.Process.Start(thispath + "\\Uninstall.bat");
  this.Text = "启动服务:你选择的服务已经卸载。";
  Cursor = Cursors.Default;
 }

 

 private void button3_Click(object sender, EventArgs e)
 {
  ///选择文件框 对象
  OpenFileDialog ofd = new OpenFileDialog();
  //打开时指定默认路径
  ofd.InitialDirec



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-28淘宝IP地址库采集器c#代码
  • 2017-05-28深入解析c#中枚举类型的定义与使用
  • 2017-05-28C#中winform实现自动触发鼠标、键盘事件的方法
  • 2017-05-28C#实现窗口之间的传值
  • 2017-05-28C#通过DataSet读写xml文件的方法
  • 2017-05-28C#中几个未知的Visual Studio编码技巧分享
  • 2017-05-28C#使用自带的email组件发送邮件的方法
  • 2017-05-28C#检查键盘大小写锁定状态的方法
  • 2017-05-28C#使用foreach循环遍历数组完整实例
  • 2017-05-28C#实现Excel表数据导入Sql Server数据库中的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#.NET采用HTML模板发送电子邮件完整实例
    • C#中单例的实现方法
    • C#自动创建数据库实现代码
    • C#控制IE进程关闭和缓存清理的实现代码
    • C#编程总结(六)详解异步编程
    • c#简单读取文本的实例方法
    • 如何使用C#程序给PDF文件添加编辑域
    • C#创建windows系统用户的方法
    • c# 托盘双击不触发单击事件的实现方法
    • C#实现将文件转换为XML的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有