- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
创建Windows服务(Windows Services)N种方式总结
最近由于工作需要,写了一些windows服务程序,有一些经验,我现在总结写出来。目前我知道的创建创建Windows服务有3种方式:a.利用.net框架类ServiceBaseb.利用组件Topshelfc.利用小工具instsrv和srvany
下面我利用这3种方式,分别做一个windows服务程序,程序功能就是每隔5秒往程序目录下记录日志:
?
a.利用.net框架类ServiceBase
本方式特点:简单,兼容性好
通过继承.net框架类ServiceBase实现
第1步: 新建一个Windows服务
第2步: 添加Installer
第3步:安装,卸载?Cmd命令installutil????? WindowsService_test.exe? (安装Windows服务)installutil /u?? WindowsService_test.exe? (卸载Windows服务)
代码下载:/aierong/WindowsService_test.rar
?
b.利用组件Topshelf
本方式特点:代码简单,开源组件,Windows服务可运行多个实例
Topshelf是一个开源的跨平台的服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务. 官方网站:
?
第1步:引用程序集TopShelf.dll和log4net.dll
第2步:创建一个服务类MyClass,里面包含两个方法Start和Stop,还包含一个定时器Timer,每隔5秒往文本文件中写入字符
第3步:使用Topshelf宿主我们的服务,主要是Topshelf如何设置我们的服务的配置和启动和停止的时候的方法调用
第4步: cmd命令
ConsoleApp_Topshelf.exe? install??? (安装Windows服务)
ConsoleApp_Topshelf.exe? uninstall? (卸载Windows服务)
?
代码下载:/aierong/ConsoleApp_Topshelf.rar
?
c.利用小工具instsrv和srvany
本方式特点:代码超级简单,WindowsForm程序即可,并支持程序交互(本人最喜欢的特点),好像不支持win7,支持xp win2003
首先介绍2个小工具:
instsrv.exe:用以安装和卸载可执行的服务
srvany.exe:用于将任何EXE程序作为Windows服务运行
?
这2个工具都是是Microsoft Windows Resource Kits工具集的实用的小工具?
你可以通过下载并安装Microsoft Windows Resource Kits获得?/en-us/download/details.aspx?id=17657
?
第1步: 新建WindowsForm程序
?
?
第2步:安装,卸载
服务的安装步骤分5小步:
(1)打开CMD,输入以下内容,其中WindowsForms_WindowsService为你要创建的服务名称
格式:目录绝对路径\instsrv ?WindowsForms_WindowsService? 目录绝对路径\srvany.exe
例如:
D:\TempWork\win\Debug\instsrv.exe ?WindowsForms_WindowsService ?D:\TempWork\win\Debug\srvany.exe
?
(2)regedit打开注册表编辑器,找到以下目录
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WindowsForms_WindowsService
?
(3)鼠标右键单击WindowsForms_WindowsService,创建一个项,名称为Parameters
?
(4)鼠标左键单击Parameters,在右边点击鼠标右键,创建一个字符串值(REG_SZ),名称为Application,数值数据里填写目录下可执行文件的绝对路径+文件名
例如:
D:\TempWork\win\Debug\WindowsFormsApplication_Exe.exe
?
(5)打开services.msc服务控制面板,找到WindowsForms_WindowsService服务,鼠标右键-属性-登陆,勾选允许服务与桌面交互
?
启动服务,可以看到程序界面
?
?
卸载服务
D:\TempWork\win\Debug\instsrv.exe WindowsForms_WindowsService REMOVE
?
代码下载:/aierong/WindowsFormsApplication_Exe.rar
文档评论(0)