WAS托管与Windows服务托管

时间:2008-09-18 22:58:27

标签: .net wcf iis-7

我正在开发一个使用Windows 2008,.NET 3.5和WCF的项目来处理一些内部服务,并且出现了如何托管服务的问题。

由于我们正在使用Windows 2008,我认为利用Windows进程激活服务(WAS)会很好,尽管项目的感觉似乎是使用Windows服务会更好。

那么,与Windows服务相比,使用WAS来托管WCF服务的最低点是什么?使用Windows服务有什么真正的优势,还是可行的?

1 个答案:

答案 0 :(得分: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,它的外观如何描述here