7

我的数据库中有一个任务表。我想从此表中读取数据并运行任务。将其作为 Windows 服务或控制台应用程序运行,哪个更好。将在其上运行的服务器不会关闭

4

6 回答 6

7

您很可能想要使用 Windows 服务。

好处:

  • 您可以控制启动进程的用户(以及与此用户帐户关联的权限)
  • 自动启动的进程意味着桌面需要打开,而不是用户登录,才能运行服务
  • 可以定义失败策略(如果失败,尝试重新启动 n 次运行特定程序)
  • 可以定义依赖项(如果您依赖其他服务)
  • 您可以将脚本包装在不可见的窗口中
  • 您可以轻松启动/停止/重新启动脚本 ( net start <scriptname>)

从这里引用: 将应用程序开发为 Windows 服务有什么好处?

于 2012-07-30T12:49:57.543 回答
3

正如其他人所说,运行控制台应用程序不是一种选择。

如果您只想让任务每 x 分钟运行一次,最简单的选项是使用控制台应用程序的计划任务。

Windows 服务有其优点,但实施和部署有点复杂。但是,如果您的应用程序需要“始终开启”(例如,需要对外部触发器做出反应、侦听消息队列……),那么 Windows 服务是唯一的选择。正如其他人所说,服务基础设施还提供更多管理功能、与事件日志的内置集成、重新启动和故障转移选项......

于 2012-07-30T12:53:56.213 回答
0

Windows 服务一般。如果服务器重新启动,而 Windows 服务可以自动启动,则需要重新启动控制台应用程序。

于 2012-07-30T12:50:15.017 回答
0

Windows 服务,因为它不需要登录用户。

于 2012-07-30T12:48:30.927 回答
0

我会说; Windows 服务。

在这种情况下(除其他外)您不需要用户登录,您可以将其配置为在它因某种原因关闭时自动重新启动,并且您(可能)在整个系统中拥有广泛的权限。

于 2012-07-30T12:48:59.447 回答
0

你应该看看:https ://github.com/thedavejay/Self-Installing-Windows-Service

它允许您作为控制台应用程序进行调试,然后将其安装为 Windows 服务。

于 2013-09-17T10:13:24.007 回答