WAS托管与Windows Service托管
时间:2020-03-06 14:23:55 来源:igfitidea点击:
我正在使用Windows 2008,.NET 3.5和WCF进行一些内部服务的项目,并且出现了如何托管服务的问题。
由于我们使用的是Windows 2008,所以我认为最好利用Windows进程激活服务(WAS),尽管该项目上的感觉似乎是使用Windows Services会更好。
那么,与Windows服务相比,使用WAS承载WCF服务的缺点何在?使用Windows服务有真正的优势吗?
解决方案
最近,我不得不回答非常类似的问题,这就是为什么我决定使用IIS 7.0和WAS而不是Windows Service基础结构的原因。
- IIS 7.0是更强大的主机,它具有许多使调试变得容易的功能。失败的请求跟踪,工作进程回收,进程孤立等等。
- IIS 7.0为我们提供了更多选择,以指定在某些情况下工作进程应执行的操作。
- 如果我们将服务托管在IIS下,则直到第一个请求时才会为其分配工作进程。从我的角度来看,这是一种理想的行为,但在情况下可能有所不同。 Windows Service使我们能够以更具确定性的方式启动服务。
- 根据我的经验,WAS本身并不能提供更高的可靠性。最大的优点是,它将IIS的丰富性暴露给使用不同于HTTP协议的应用程序。我的意思是:TCP,命名管道和MSMQ。
- 我知道使用WAS的唯一缺点是服务所暴露的地址需要符合某种模式。这里介绍了MSMQ的外观