源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c#创建windows服务入门教程实例

  • 时间:2021-09-15 14:22 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c#创建windows服务入门教程实例
用c#中创建一个windows服务非常简单,与windows服务相关的类都在System.ServiceProcess命名空间下。 每个服务都需要继承自ServiceBase类,并重写相应的启动、暂停、停止等方法。 windows服务的相关信息是存放与注册表中的,所以他可以在不需要用户登录的情况下自动运行,在c#中你不需要再直接向注册表中添加信息了,c#提供了服务安装类 ServiceProcessInstaller和ServiceInstaller来实现服务的安装。 首先,用vs创建一个windows服务项目 [img]http://files.jb51.net/file_images/article/201404/201404140945442.png[/img] 成功后你可以看到 [img]http://files.jb51.net/file_images/article/201404/201404140945443.png[/img] Program中只包含服务运行的相关信息
[u]复制代码[/u] 代码如下:
/// <summary> /// 应用程序的主入口点。 /// </summary> static void Main() { ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new Service1()//这里是一个数组,意味着我们可以在一个服务进程中创建多个服务实例,只需要在这里加上即可 }; ServiceBase.Run(ServicesToRun); }
Service1.cs就是我们需要的服务类,与windows服务相关的基本操作大都可以在这里找到,如:Start,Stop,Pause,Continue等,我们要做的就是根据这些操作做不同的处理就可以了。 我们先在服务Start和Stop时分别记录一条信息到D盘
[u]复制代码[/u] 代码如下:
protected override void OnStart(string[] args) { File.AppendAllText("d:" + this.GetType().Name + ".txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss 服务启动")); } protected override void OnStop() { File.AppendAllText("d:" + this.GetType().Name + ".txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss 服务停止")); }
一个简单的服务就完成了,下一步添加安装信息 双击项目中的Service.cs转到服务设计界面,在空白处右键选择“添加安装程序” [img]http://files.jb51.net/file_images/article/201404/201404140945444.png[/img] vs会自动创建一个默认名称为ProjectInstaller.cs的文件并转到相应的设计界面 默认添加两个类 serviceProcessInstaller1和serviceInstaller1,第一个主要用来设置服务所属账户,关系到服务的运行,第二个是服务信息描述,如:服务名、是否自动启动等 右键serviceProcessInstaller1属性,将Account属性选择为LocalSystem [img]http://files.jb51.net/file_images/article/201404/201404140945455.png[/img] 右键serviceInstaller1属性,将StartType属性设为Automatic(自动启动),Description为“我的第一个windows服务” 全部保存后生成,找到生成的程序。 [img]http://files.jb51.net/file_images/article/201404/201404140945456.png[/img] 由于windows服务不能通过双击直接运行,所以我们需要借助.net提供的InstallUtil.exe来安装服务。 [img]http://files.jb51.net/file_images/article/201404/201404140945457.png[/img] 按回车开始安装,成功后会提示 “提交”阶段已成功完成,如果失败则是“回滚”阶段已成功完成 [img]http://files.jb51.net/file_images/article/201404/201404140945468.png[/img] 打开windows服务管理器就能看到我们安装的服务,默认服务安装成功后不会立刻启动,需要我们手动启动 [img]http://files.jb51.net/file_images/article/201404/201404140945469.png[/img] 如果不出意外,会显示已启动 [img]http://files.jb51.net/file_images/article/201404/2014041409454610.png[/img] 到D盘目录下找到Service1.txt,打开会看到我们填入的信息,说明我们做的windows服务已经成功了。 要卸载windows服务可以用InstallUtil.exe /u WindowsService1.exe来卸载或通过系统命令 sc delete 服务名来卸载。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部