代码之家  ›  专栏  ›  技术社区  ›  Mohamad Alhamoud

我们什么时候使用Windows服务?

  •  5
  • Mohamad Alhamoud  · 技术社区  · 15 年前

    我们是否应该使用Windows服务?
    我正在构建一个客户机-服务器项目(C),服务器应该在没有任何用户的情况下单独工作,所以有人建议我使用Windows服务来运行服务器,对吗?或者有更好的解决方案?

    7 回复  |  直到 15 年前
        1
  •  6
  •   C. Ross trotttrotttrott    15 年前

    在您的情况下,我使用服务的原因如下:

    • 您不需要运行会话。这有利于安全性,也减少了服务器上的开销。
    • 你可以免费获得一些内置的管理命令
      • 起点
      • 停止
      • 暂停
      • 继续
    • 您可以处理服务器事件,如关机。
        2
  •  7
  •   kemiller2002    15 年前

    当应用程序需要连续运行时,通常使用Windows服务。例如,如果他们需要:

    1. 等待传入请求。(例如通过远程处理或WCF)
    2. 监视队列、文件系统等。

    如果一个程序只是需要定期运行,比如一天运行一次。通常,创建计划任务更容易。

        3
  •  6
  •   Kevin Le - Khnle    15 年前

    Windows服务可以在机器通电后立即开始运行,这是作为服务器(例如HTTP服务器)运行的理想选择。无需任何人登录。

        4
  •  1
  •   SLaks    15 年前

    您应该创建一个Windows服务来在后台运行代码,而不需要用户交互。

    例如,即使没有人登录,Windows服务也将运行。

    任何接受连接的服务器(如邮件、Web或FTP服务器)通常都应该是Windows服务。

        5
  •  1
  •   jpabluz    15 年前

    好吧,Windows服务为您的应用程序提供了一个完整的框架,让它在您需要的时候工作并保持活动状态,所以我认为它是可以的。

        6
  •  1
  •   Eric J.    15 年前

    无论用户是否登录,Windows服务都是用于应该一直运行的内容的正确方法。

    如果需要在没有活动用户登录的情况下运行,则需要使用Windows服务。

        7
  •  1
  •   Chris Taylor    15 年前

    当您需要应用程序开始运行时,即使没有人实际登录到机器上(这在服务器机器中很常见),在这种情况下,服务也是一个很好的候选者。特别是因为服务可以配置为自动启动,这意味着当机器在没有人工干预的情况下重新启动时,服务将启动。

    但是,如果您希望托管Web服务(WCF),而服务是一个选项,那么您可以考虑在IIS中托管,这可以减轻您编写实际托管代码等的负担。