net-开发系统服务入门

32次阅读

共计 591 个字符,预计需要花费 2 分钟才能阅读完成。

没有什么比官方文档更适合学习了。

在这,给出几点注意的事项:

开发过程

按官方文档走一遍,大体就明白开发的思路了。当然也就清楚,这个服务如果想高度还是比较困难的,其它的非服务类程序,我们在 VS 就调试了。而服务开发后必须加入到系统服务中,真正的运行。这会使得我们陷入:开发 -> 生成 -> 安装 -> 生产环境调试 -> 再开发的怪圈中。

在实际的开发中,建立采用如下方案:

  1. 建立另外一个一般的可视化项目,在此项目中完成服务需要的所有功能。
  2. 在可视化的项目的开发中,完成调试工作。
  3. 开发完成后,将功能进行迁移。

权限问题

服务 运行时,是可以使用 LocalSystem 权限的。而一般的可视化项目运行时,需要指定使用 administrator 权限。这就要求我们在开发过程中,增加 运行环境 的配置选项。如果当前环境是在服务中,则无需指定 administrator 权限。

Developer Common Prompt

installutil 是需要在此工具下执行的,直接在 cmd 中打开会提示找不到相关的命令。然后此工作是需要使用管理员权限打开的,否则会出现安全错误。

在“安装”阶段发生异常。System.InvalidOperationException: 无法打开计算机“.”上的服务控制管理器。此操作可能需要其他特权。引发了内部异常 System.ComponentModel.Win32Exception,错误消息如下: 拒绝访问。。

正文完
 0