7

我正在为一些内部服务使用 Windows 2008、.NET 3.5 和 WCF 进行项目,并且出现了如何托管服务的问题。

由于我们使用的是 Windows 2008,因此我认为利用 Windows Process Activation Service (WAS) 会很好,尽管对项目的感觉似乎是使用 Windows 服务会更好。

那么与 Windows 服务相比,使用 WAS 托管 WCF 服务有什么不足之处呢?使用 Windows 服务是否有任何真正的优势,或者是要走的路?

4

1 回答 1

11

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

  1. IIS 7.0 是更强大的主机,它具有许多使调试变得容易的功能。失败的请求跟踪、工作进程回收、进程孤立等等。
  2. IIS 7.0 为您提供了更多选项来指定工作进程在某些情况下应该发生什么。
  3. 如果您在 IIS 下托管您的服务,则在第一个请求之前它没有分配工作进程。从我的角度来看,这是一种理想的行为,但在您的情况下可能会有所不同。Windows 服务使您能够以更确定的方式启动服务。
  4. 根据我的经验,WAS 本身并不能提供更高的可靠性。它的最大优势在于它将 IIS 的丰富性暴露给使用不同于 HTTP 的协议的应用程序。我的意思是:TCP、命名管道和 MSMQ。
  5. 我知道使用 WAS 的唯一缺点是您的服务所暴露的地址需要符合某种模式。此处描述了 MSMQ 的情况
于 2008-09-19T00:10:48.830 回答