2011-01-24 88 views
11

有时我会发现某些应用程序允许它们在Windows上作为服务运行,例如Apache HTTP Serverallows that。我经常将它作为常规应用程序运行,并且从未遇到任何问题或限制。将应用程序作为服务运行的优点

  • 这有什么好处?
  • 当应用程序作为服务运行时,是否允许应用程序执行任何操作?
  • 当我编写服务与常规应用程序时,作为开发人员,我有什么优势。

回答

13

将应用程序作为服务运行的最大好处是即使在当前用户注销后(并且在用户登录之前将开始运行)它仍将继续运行。此外,服务通常在本地“系统”帐户下运行,而不是在特定用户的登录下运行(尽管服务可以且经常配置为在特定用户登录下运行,通常专用于此目的)。

作为一名开发人员,您可能不会注意到很多差异。如果出现问题,通常在桌面上运行的进程更容易调试。通常情况下,您可以将您的应用程序设置为可以在任一模式下运行,这样既易于开发又适合部署。

5

我想到的一件事是服务可以在用户登录系统之前启动。我认为服务是运行通常不具有前端GUI的守护进程的理想方式。用户很难不经意地退出,并且它看不见并且不在意。

3

即使没有用户登录,服务仍会运行。应用程序与用户交互。

如果您同时需要,您可能需要有两个组件,一个作为服务运行,另一个与用户交互。

相关问题