WCF:在IIS和Windows服务中托管的区别

4

WCF服务可以在IIS和Windows服务中托管。它们之间有什么区别?在Windows服务中托管是否比在IIS中更有益处?

3个回答

3

2
以下是一些IIS的不同之处(从@Jocke提供的链接中复制):
  • 您失去了IIS的所有功能(记录、应用程序池扩展、站点的限流/配置等)...

  • 您必须自己构建每个想要的功能HttpContext?

  • 由于ASP.NET已为您提供了此功能,因此您会失去它。因此,我可以看到像身份验证这样的事情变得更加困难WebDeploy?

  • IIS在处理请求和预热服务方面有一些不错的特定功能(自托管没有)

  • IIS具有运行多个并发站点的能力,包括应用程序和虚拟目录,以及高级主题,例如负载平衡和远程部署。


1
如果您的WCF服务是自包含的,比如数据服务,只需在IIS中托管即可。缺点:您必须安装和配置IIS。
如果您的WCF服务更像是API或IPC机制,用于让其他应用程序与您的应用程序通信,那么让您的应用程序自托管WCF服务更有意义,而这通常需要使用Windows服务。缺点:您必须将应用程序安装为Windows服务,并配置应用程序可以侦听其配置的端口。
请注意,自托管不限于Windows服务。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接