代码之家  ›  专栏  ›  技术社区  ›  Ubiguchi

是宿主还是Windows服务宿主

  •  5
  • Ubiguchi  · 技术社区  · 16 年前

    我正在为一些内部服务开发一个使用Windows2008、.NET 3.5和WCF的项目,并且出现了如何托管这些服务的问题。

    因为我们使用的是Windows 2008,所以我认为利用Windows Process Activation Service(WAS)是一件好事,尽管在这个项目中,人们感觉使用Windows服务会更好。

    与Windows服务相比,使用WCF服务的最低要求是什么?使用Windows服务有什么真正的优势吗?或者说这是一种方法吗?

    1 回复  |  直到 16 年前
        1
  •  11
  •   Pawel Pabich    16 年前

    最近我不得不回答非常相似的问题,这就是为什么我决定使用IIS 7.0而不是Windows服务基础架构的原因。

    1. IIs7.0是一个更加健壮的主机,它具有许多使调试变得容易的功能。失败的请求跟踪、工作进程回收、进程孤立等等。
    2. IIs7.0提供了更多的选项来指定在某些情况下工作进程应该发生什么。
    3. 如果您在IIS下托管您的服务,那么在第一次请求之前,不会为其分配工作进程。从我的角度来看,这是一种理想的行为,但在您的情况下可能会有所不同。Windows服务使您能够以更确定的方式启动服务。
    4. 根据我的经验,它本身并不能提供更高的可靠性。它最大的优点是它向使用不同于HTTP协议的应用程序公开了丰富的IIS。我的意思不同:TCP、命名管道和msmq。
    5. 使用的唯一缺点是,我知道您的服务在需要时暴露的地址必须符合某种模式。描述了在msmq情况下的外观 here
    推荐文章