c#开发windows服务
来源:互联网 发布:淘宝卖家如何上传视频 编辑:程序博客网 时间:2024/06/11 19:57
1、首选我们需要打开VS,然后点击文件--》新建--》项目,选择Visual C#--》windows--》windows服务。
2、然后修改Service1.cs类。
我们需要重写OnStart和OnStop方法。代码如下所示:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.ServiceProcess; using System.IO; using System.Text; using System.Timers; using System.Threading; namespace WindowsServiceTest { public partial class Service1 : ServiceBase { public Service1() { InitializeComponent(); } protected override void OnStart(string[] args) { EventLog.WriteEntry("我的服务启动");//在系统事件查看器里的应用程序事件里来源的描述 writestr("服务启动");//自定义文本日志 System.Timers.Timer t = new System.Timers.Timer();//定时器 t.Interval = 1000;//设置定时器时间间隔为1000毫秒 t.Elapsed += new System.Timers.ElapsedEventHandler(ChkSrv);//到达时间的时候执行事件(每隔一秒) t.AutoReset = true;//设置是执行一次(false)还是一直执行(true); t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件; } protected override void OnStop() { writestr("服务停止"); EventLog.WriteEntry("我的服务停止"); } /// <summary> /// 定时执行程序代码 /// </summary> /// <param name="source"></param> /// <param name="e"></param> public void ChkSrv(object source, System.Timers.ElapsedEventArgs e) { int intSecond = e.SignalTime.Second; try { //这里执行你的东西 writestr("服务运行中:"+intSecond); Thread.Sleep(10000); } catch (Exception err) { writestr(err.Message); } } /// <summary> /// 将信息输出到文本文件 /// </summary> /// <param name="readme"></param> public void writestr(string readme) { StreamWriter dout = new StreamWriter(@"D:\" + "WindowsServiceTestLog.txt", true); dout.Write("\r\n事件:" + readme + "\r\n操作时间:" + System.DateTime.Now.ToString("yyy-MM-dd HH:mm:ss")); dout.Close(); } } }3、在Service1.cs的设计视图上右键“添加安装程序”。系统会自动生成“ProjectInstaller.cs”文件,在该文件的设计视图界面会有两个控件,一个是serviceProcessInstaller1,一个是serviceInstaller1。
4、在ProjectInstaller.cs设计界面中,我们设置serviceProcessInstaller1和serviceInstaller1的属性。
serviceInstaller1属性中设置:
Description(系统服务的描述)
DisplayName (系统服务中显示的名称)
ServiceName(系统事件查看器里的应用程序事件中来源名称)
StartType(启动服务的方式,分为手动、自动和禁用)
serviceProcessInstaller1属性设置:
Account 下拉设置成 LocalSystem
5、注意:我们无法在VS2008中调试该工程,会弹出错误信息
6、我们需要用InstallUtil.exe进行服务的安装,该文件可以在
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\
文件夹下找到。
7、我们将InstallUtil.exe复制到源程序的Debug文件夹下,然后我们以管理员身份运行VS2008命令提示。
注意:这里必须以管理员的身份运行,否则在安装服务时会出现以下错误:
在“安装”阶段发生异常。
System.Security.SecurityException: 未找到源,但未能搜索某些或全部事件日志。不可访问的日志: Security。
8、然后我们执行CMD命令,定位到源程序的Debug文件夹下,因为我的Debug文件夹在E盘,所以使用的dos命令如下:
E: cd E:\Projects\WindowsServiceTest\WindowsServiceTest\bin\Debug InstallUtil WindowsServiceTest.exe9、然后我们在控制面板--》管理工具--》服务中会看到多了一个MyService的服务。我们可以看到服务名称为:ServiceTest,服务描述为:我的测试服务。
10、我们启动服务,然后打开D盘根目录,会看到多了一个名为:WindowsServiceTestLog.txt的文本文件。
打开该文本文件,会看到我们新建的服务每秒往该文本文件中写入了一行文本。
11、最后我们就可以卸载该服务了,我们在命令行中输入:InstallUtil -u WindowsServiceTest.exe
- C# 开发windows 服务
- C#开发windows服务
- c#开发windows服务
- 用C#开发Windows服务
- c#开发Windows服务程序及部署
- C# Windows 服务开发并启动
- win7下用c#开发windows服务
- win7下用c#开发windows服务
- C#开发Windows服务的基础代码
- C#开发、部署Windows Services服务
- win7下用c#开发windows服务
- win7下用c#开发windows服务
- Win7下用C#开发windows服务
- 用c#开发部署windows服务
- win7下用c#开发windows服务
- 关于C#开发 windows服务进程
- 关于C#开发 windows服务进程
- 用C#开发Windows服务监控系统使用
- 字节数int, long, double
- OutOfMemoryError异常实战
- Android Material-Design-Login 项目列子
- 哈哈,我的博客开通了
- wpa_supplicant和udhcpc测试
- c#开发windows服务
- caffe中solver配置文件的解读
- python3.3~安装python ide和安装pymysql
- 二叉搜索树应用分析
- Installshield 打包安装包心得
- 遍历指定目录下所有子目录和子文件的函数
- 适合移动设备的小巧jQuery颜色拾取器插件
- 接上,struts2访问页面元素的另一种方法。
- Ext.XTemplate加载拥有头像的用户