[20200216]
写了几次Windows服务,可以做任务队列,很好的异步处理非实时的问题。而且稳定性高,比放在程序上的全局事件要稳定,只是维护起来,需要服务器配合。下面还是过一次整个流程:
1、创建Windows服务
2.添加安装程序
|
说明: 1.Description: windows服务的描述 2.DisplayName 服务显示名称,直接显示到Windows服务列表中的名称 3.ServiceName 服务进程名称,安装与卸载服务时的唯一标识,DisplayName为空时,也做显示名称。 |
创建了serviceProcessInstraller和serviceInstraller,安装才能成功,没建会报错:服务没有RunInstrallerAttribute.Yes。
3.安装windows服务
安装脚本.bat
%SystemRoot%Microsoft.NETFrameworkv4.0.30319installutil.exe 本地路径windows服务程序名称.exe Net Start 服务名称 sc config 服务名称 start= auto pause
卸载脚本.bat
%SystemRoot%Microsoft.NETFrameworkv4.0.30319installutil.exe 本地路径windows服务程序名称.exe pause
4.调试windows服务
在项目中不用启动windows服务项目,而是直接附加进程来进行调试。
5.启动失败的原因:
1.首先查看权限的问题,建议将Account改成LocalSystem。
2.查看系统日志,右键我的电脑->管理->事件查看器->应用程序 从这里来查询相关的错误信息.
图片和素材参考:https://www.cnblogs.com/yunfeng83/p/6375078.html