【问题标题】:What are the differences between a web service and a Windows service?Web 服务和 Windows 服务有什么区别?
【发布时间】:2009-06-23 16:05:50
【问题描述】:

Web 服务和 Windows 服务有什么区别?

我的经验主要是使用 Windows 服务,但我从未创建过 Web 服务。

Web 服务的行为与 Windows 服务相似吗?
他们可以进行调度、在特定时间运行等吗?
何时使用 Web 服务代替 Windows 服务,反之亦然?

【问题讨论】:

    标签: web-services windows-services


    【解决方案1】:

    它们几乎是两件不同的东西。

    Windows 服务是在没有用户登录系统的情况下运行的应用程序,通常用于处理机器上的某些数据,无需用户干预即可使用。

    Web 服务是一个网站,当被联系时,它会以多种标准格式之一返回 XML(通常)供服务使用者处理。

    一个不能替代另一个。它们是根本不同的。

    【讨论】:

    • +1,JSON 是响应格式的第二个流行选项
    • 它们真的那么不同吗?如果您有一个 Windows 服务,可以按需处理从 MSMQ 收到的消息。这与按需处理 http 请求的 Web 服务有很大不同吗?
    • @Welbog 今年年初(在我们的日历中),我接受了一次面试,老实说,通过我接触过的人,我是一名优秀的程序员,但我从未在基于 Web 的应用程序(只是 2005 年左右的一些 web 表单,还有一些 MVC hello world),...,所以由于我的“简历”,公司打电话进来,我去面试了,这很好,虽然我不是网络用户进展顺利,直到他们询问 Web 服务和 widnwos 的差异,以及最难的部分.. Web 服务是否可以用于在公司内部发送关键数据... 那么,您能详细告诉我们它们的用法吗? ,以及偏好?
    【解决方案2】:

    您要求我们比较苹果和橙子。我正在为您发布定义以及进一步阅读的链接,以便您了解为什么这两件事是排他性的,无法像您尝试做的那样进行比较。

    Web service:

    Web 服务通常只是 Internet 应用程序编程接口 (API),可以通过网络(例如 Internet)访问,并在托管所请求服务的远程系统上执行

    Windows service:

    Windows 服务是一个长时间运行的可执行文件,它执行特定的功能并且设计为不需要用户干预。

    【讨论】:

    • 所以当我们创建 WCF 契约并将其托管在 Windows 服务上时,我们是 API 的提供者,那么它是什么? Windows 服务...或 Web 服务(例如,在我们不知情的情况下实现和运行一些后台 Web 托管服务)
    【解决方案3】:

    Web 服务是系统的 HTTP 接口。例如:Twitter API 或 Google Maps API 是 REST Web 服务。

    Windows 服务是无需用户交互即可运行的后台进程。

    两者没有关系。

    【讨论】:

      【解决方案4】:

      Web 服务只是一种公开服务以供消费的方式。它们是关于组件之间的交互。

      Windows 服务是在机器上运行很长时间以执行某些任务的可执行文件。

      您不会使用一个代替另一个 - 它们执行两种完全不同的功能。

      对于(一个简单的)示例(突出区别),如果您想要一种方法将控制消息传递给您的服务,您可以将 Web 服务公开为第三方通信的协议与您的服务。

      【讨论】:

        【解决方案5】:

        Web 服务是用于通过网络进行机器对机器通信的软件系统。

        这是wiki for Web Service

        Windows 服务在合同中是在本地计算机上运行的服务。

        这是wiki for Windows Service

        它们是独立的技术,一种不​​会替代另一种。

        【讨论】:

          【解决方案6】:

          我不认为有很大的区别,Web 服务在 IIS 或 Apache 中运行,而 Windows 服务则没有。您可以使用远程调用 Windows 服务方法,并且可以使用 WCF 创建 Windows 服务。 Windows 服务的方法也可以返回 xml 或 json。

          IIS 6 不支持所有 WCF 可能性,因此我们构建了 WCF Windows 服务(这称为自托管)。

          Web 服务和 Windows 服务都是在后台运行的应用程序。您可以使用 WCF 来构建这两种服务。

          【讨论】:

          • 您不用 WCF 构建 Windows 服务,但您可以在 Windows 服务中托管 WCF 服务。 :)
          【解决方案7】:

          web service 主要用于系统间的应用集成。

          windows服务多用于后台任务、定时任务。

          Windows 服务程序可以调用 Web 服务方法。 Web 服务程序无法调用窗口服务方法。

          【讨论】:

          • Web 服务程序可以调用窗口服务方法。
          【解决方案8】:

          网络服务是由网络服务器托管并作为网络应用程序运行的 dll,可以根据请求启动。

          Windows 服务是由操作系统托管的 exe,并在等待请求时连续运行。

          【讨论】:

            猜你喜欢
            • 2018-01-09
            • 2011-11-09
            • 1970-01-01
            • 2013-10-20
            • 2010-10-26
            • 2019-02-26
            • 1970-01-01
            • 2013-10-21
            • 2011-05-12
            相关资源
            最近更新 更多