c#应用程序作为服务运行的优势是什么?

c#应用程序作为服务运行的优势是什么?,c#,C#,我将有一个c#应用程序,它将从时钟获取数据,并每两周向每位员工发送一封电子邮件 让应用程序作为服务自动运行有什么好处? 启动后,它运行时没有任何人登录(例如,在服务器上),无需启动它等 你可以轻松地开始、暂停、停止它 您可以让它在给定的服务帐户下运行 如果它作为服务运行,则无需用户登录,它可以自动重新启动并作为系统运行,并对系统具有完全权限 我想你回答了你自己的问题 如果应用程序作为服务自动运行,则每当服务器启动时,它都会自动启动。然后,它可以定期检查时间,以确定是否应该执行其任务 关键的好处是

我将有一个c#应用程序,它将从时钟获取数据,并每两周向每位员工发送一封电子邮件

让应用程序作为服务自动运行有什么好处?

  • 启动后,它运行时没有任何人登录(例如,在服务器上),无需启动它等
  • 你可以轻松地开始、暂停、停止它
  • 您可以让它在给定的服务帐户下运行

如果它作为服务运行,则无需用户登录,它可以自动重新启动并作为系统运行,并对系统具有完全权限

我想你回答了你自己的问题

如果应用程序作为服务自动运行,则每当服务器启动时,它都会自动启动。然后,它可以定期检查时间,以确定是否应该执行其任务

关键的好处是它可以自动运行,而不必让Bill(或任何人)在程序执行时加载程序和摆弄拇指

  • 不与桌面交互
  • 可以在低权限帐户下运行,因此如果受到攻击,伤害可以受到限制
  • 不需要用户登录即可运行

它不需要用户登录,可以配置为在您选择的帐户/权限集下运行。像这样的应用程序(从描述来看)应该是“始终打开”的,作为一项服务,它往往最有意义


但是,如果你正在做的事情将运行两周,你可能还想考虑一个控制台应用程序作为一个计划任务运行。这样做的好处是可以根据需要运行应用程序,而不会停留在内存中。这在系统资源利用率方面更好。它还使计划的“重新配置”非常容易,因为它不需要更改应用程序本身。

与作为???@KP运行不同:我还建议(在我的回答中)潜在地使用任务计划程序,并将其作为计划控制台应用程序运行。这确实有一些好处……同样的事情也可以通过一个按计划任务运行的程序来完成。@Matthew Whited:是的,但是需要有人先登录。。。。。如果您的计算机启动,但没有人登录,则该计算机上的计划任务将不会执行,而在有人登录onTask scheduler之前,服务已在运行—这取决于您如何设置计划任务。调度程序本身作为一项服务运行,调度的任务不一定需要用户登录…@Reed Copsey:啊,很有趣-谢谢你的见解!清除了我的另一个误解!我的老板