2009-09-22 66 views
1

我们有一个服务器应用程序,它将一个模块安装在一个单独的服务器上,并且希望使用WCF为这两个模块相互通信。我已经缩小到在IIS7/WAS或无IIS的WAS中托管WCF。主应用程序的主要目的实际上是作为一个基于tcp/ip套接字的服务器来处理一些数据。IIS7或WAS最适合这种类型的项目吗?WAS或IIS7中的主机WCF?

如果我们确实使用WAS,建立一个控制台应用程序以在WAS中托管是否合理?

回答

3

在IIS7中托管是WAS - 它们不是唯一的。我相信你问的是我应该“自主”还是使用IIS7。

如果您使用IIS,那么您不需要角色自己的服务主机,并在崩溃后将重新启动将为您处理。

如果您使用自托管服务,那么你需要写(如果你想要的东西,总是在典型的Windows服务),它承载的服务的程序,你将需要处理崩溃和重新启动手动。

然而,自我托管的程序可以更快(不是很多,但有时很重要 - 测量它),并会占用更少的内存。根据所使用的协议,WAS也可能受到IIS的连接限制(例如,Vista下的10个)限制。

2

IIS7可以承载非HTTP服务的唯一原因是它使用WAS来这样做。你的选择不是相互排斥的。

+0

感谢您的澄清,我编辑了这个问题以更好地反映这一点。 – alchemical 2009-09-22 18:02:47