没有什么比官方文档更适合学习了。
在这,给出几点注意的事项:
开发过程
按官方文档走一遍,大体就明白开发的思路了。当然也就清楚,这个服务如果想高度还是比较困难的,其它的非服务类程序,我们在 VS 就调试了。而服务开发后必须加入到系统服务中,真正的运行。这会使得我们陷入:开发 -> 生成 -> 安装 -> 生产环境调试 -> 再开发的怪圈中。
在实际的开发中,建立采用如下方案:
- 建立另外一个一般的可视化项目,在此项目中完成服务需要的所有功能。
- 在可视化的项目的开发中,完成调试工作。
- 开发完成后,将功能进行迁移。
权限问题
服务
运行时,是可以使用 LocalSystem
权限的。而一般的可视化项目运行时,需要指定使用 administrator
权限。这就要求我们在开发过程中,增加 运行环境
的配置选项。如果当前环境是在服务中,则无需指定 administrator
权限。
Developer Common Prompt
installutil 是需要在此工具下执行的,直接在 cmd 中打开会提示找不到相关的命令。然后此工作是需要使用管理员权限打开的,否则会出现安全错误。
在“安装”阶段发生异常。System.InvalidOperationException: 无法打开计算机“.”上的服务控制管理器。此操作可能需要其他特权。引发了内部异常 System.ComponentModel.Win32Exception,错误消息如下: 拒绝访问。。