我编写了一些WCF服务,出于开发和调试目的,我以自托管方式运行。现在我已经有了一个Web服务器,我正在考虑是否有任何理由将我的服务更改为在IIS 7下运行...如果是的话,如何?
最佳答案
MSDN上有一篇文章探讨了不同的WCF hosting模型。关于自助托管,这是要说的:
以下是自我托管的优势:
易于使用:仅需几行代码,即可运行服务。
灵活:您可以通过ServiceHost的Open()和Close()方法轻松地控制服务的生命周期。
易于调试:调试在自托管环境中托管的WCF服务提供了一种熟悉的调试方式,而不必附加到激活服务的单独应用程序中。
易于部署:通常,部署简单的Windows应用程序与xcopy一样容易。您不需要服务器场等任何复杂的部署方案即可部署充当WCF ServiceHost的简单Windows应用程序。
支持所有绑定和传输:自托管功能不限制您使用现成的绑定和传输任何内容。在Windows XP和Windows Server 2003上,IIS将您限制为仅HTTP。
以下是自我托管的缺点:
有限的可用性:仅当应用程序正在运行时,该服务才可访问。
有限的功能:自托管应用程序对高可用性,易管理性,鲁棒性,可恢复性,版本控制和部署方案的支持有限。至少,开箱即用的WCF不提供这些功能,因此在自托管方案中,您必须自己实现这些功能;例如,IIS默认具有这些功能中的几个。