Mug*_*nth 29 c# windows windows-services winforms
我何时应该使用Windows服务,何时应该在通知区域中运行"后台应用程序"?
如果我没有错,我的设计决定是,在用户登录计算机之前需要运行的任何应用都应该是一项服务.其他一切使用后台应用程序.我的决定是对的吗?
此外,如果我的后台应用程序需要"管理员权限",我会使用清单升级.运行即服务还有其他特定优势吗?
blo*_*art 23
我的一般经验法则如下
当您需要将某些内容作为系统帐户运行,并与其进行交互时,就会产生乐趣.IIS就是一个很好的例子,它是一个服务,但是管理是一个应用程序 - 它需要在启动时运行,它需要访问用户无法正常访问的特定事物(c:\ inetpub),但是用户需要能够启动,停止和配置它.
如果applcation具有关键目的并且不应该(或很少)关闭,我会将应用程序设计为服务.Windows服务提供良好的崩溃恢复选项,良好的通知(请参阅服务属性中的恢复选项卡).
使用服务的一个很好的理由是因为它们可以在任何用户下运行(因此,如果您将它们部署在远程服务器上,您可以在启动服务后安全地注销,而不必担心应用程序也会关闭).
我还将服务与可与服务交互的桌面应用程序一起设计,并可用于在运行时监视或重新配置服务.这样,您就可以在服务中获得托盘应用程序的所有好处.
但是,你不应该滥用服务,只能像我所说的那样使用它们用于cirtical应用程序.