U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 常见问题解答 >

Windows服务简单开发

来源:http://www.tudoupe.com时间:2022-02-18

Windows服务简单开发

一、服务项目搭建

1、 新建一个Windows服务项目

1.1、建立一个WindowsService项目

在这里插入图片描述

在这里插入图片描述

1.2、添加一个服务后台管理类库,便于项目维护

在这里插入图片描述

2、定时任务服务的一般通用模版

二、Windows服务的部署

1、定义服务的名称和描述,以及服务的运行账户

在服务的设计模式视图中“右键→添加安装程序”,会自动添加一个安装程序文件,名称为ProjectInstaller.cs
在这里插入图片描述

在ProjectInstaller.cs的设计视图中,serviceInstaller控制服务的名称描述等相关内容,serviceProcessInstaller控制服务运行的账户。

(1) serviceInstaller属性配置
右键serviceInstaller1→属性
在这里插入图片描述

注意

ServiceName和DisplayName 要保持一致,不然在安装时安装失败

ServiceName:服务名称,简单来说就是服务在操作系统中的名称,即系统任务管理器中该服务的进程名称。

DisplayName:展示名称,说明见下图

Description:服务描述说明,说明见下图

DisplayName和Description

使用Win+R,输入services.msc,打开系统的服务管理器
在这里插入图片描述

(2) serviceProcessInstaller属性配置
右键serviceProcessInstaller1→属性
在这里插入图片描述
需要重点关注的就一个Account属性,改属性默认值是User(这里是个坑,因为选择为User的服务在启动时需要输入账户用户名和密码),这里调整为LocalService即可。

2、服务的安装

windows服务的安装需要使用到InstallUtil.exe,这个文件路径如下,

InstallUtil.exe(x86) C:WindowsMicrosoft.NETFrameworkv4.0.30319

InstallUtil.exe(x64) C:WindowsMicrosoft.NETFramework64v4.0.30319

使用x86安装还是x64安装取决与项目配置,右键项目,选择属性
在这里插入图片描述

可将InstallUtil.exe拷贝到项目中里面

再新建两个2个bat【Install.bat、Uninstall.bat】文件用于安装和卸载服务,也拷贝到项目中去
在这里插入图片描述

Install.bat

%~dp0InstallUtil.exe %~dp0项目名称.exe

Net Start 服务名称

sc config 服务名称 start= auto

pause

Uninstall.bat

%~dp0InstallUtil /u %~dp0项目名称.exe

pause

项目名称:该WinService服务项目的名称

服务名称:是serviceInstaller1中配置的ServiceName

把这3个文件粘贴到项目中以后,选中,右键属性

在这里插入图片描述

右键项目,生成,然后到项目目录下的打开bin文件夹,根据生成方式,选择Debug/Release文件夹
在这里插入图片描述

将Debug整个文件拷贝到服务器。执行Install.bat即可进行安装

注意,win2008及以上系统,执行安装卸载bat需要管理员权限运行:即右键Install.bat/Uninstall.bat→以管理员身份运行。

三、调试Windows服务

调试Windows服务,可以采用将服务附加到进程的方法。

1、在菜单栏选项里面选择调试–>附加到进程

在这里插入图片描述

2、在附加到进程界面,选择相应的服务进程(DemoService.exe),点击附加。

在这里插入图片描述
注意要把服务附加到进程,必须保证服务是启动状态,否则在进程里面看不到服务的进程。

四、总结

1、Windows服务调试不能直接F5,可以通过附加到进程方式调试(调试前提:将服务启动、以管理员身份运行VS)
2、Windows服务由于没有直接的用户交互,服务的状态必须通过日志才可知晓,恰当的加入try catch
3、所有可能发生变化的内容都不要写死,尽量通过配置文件来实现,实现项目的灵活性
4、Windows服务多用于定时操作、大数据量操作、监控操作等应用场景

五、常见问题

1、写Windows服务的时候,运行了一下,就是没反应,命令框一闪而过,查了一下异常,大致是题目的那样。原因是因为权限不足。但是在网上搜的方法都不顶用。

解决方法步骤如下:

(1)以管理员身份运行CMD;

(2)而后将CMD中的路径调整到bat文件所在路径下,比如路径为“D:Debug”。cd /d d:Test【具体目录】

(3)而后在CMD中输入“install.bat”即可正确安装。

源代码:

https://pan.baidu.com/s/1eEXvyHjiQ74dR84bpRMcLg
提取码 :629k

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息