WCF:IIS和WIndows服务托管之间的区别

时间:2015-02-16 12:09:44

标签: c# .net wcf windows-services hosting

WCF服务可以在IIS和Windows服务中托管。有什么区别?在Windows服务中托管比IIS更有益吗?

3 个答案:

答案 0 :(得分:2)

查看文档:{​​{3}}

太棒了!

您的问题的答案取决于您正在构建的应用程序类型以及对应用程序/环境的其他要求......!

答案 1 :(得分:1)

以下是一些差异(IIS的功能..从@Jocke提供的链接复制)。

  • 您将失去IIS的所有功能(日志记录,应用程序池扩展,站点的限制/配置等)...

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

  • 你失去了,因为ASP.NET为你提供了这个。那么,我可以看到像认证这样的东西更难用于WebDeploy?

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

  • IIS能够将多个带有应用程序和虚拟目录的并发站点运行到高级主题,如负载平衡和远程部署。

答案 2 :(得分:0)

如果您的WCF服务是自包含的,就像数据服务一样,只需将其托管在IIS中即可。缺点:您必须安装和配置IIS。

如果您的WCF服务更多是API或IPC机制,用于让其他应用程序与您的应用程序通信,那么让您的应用程序自托管WCF服务更有意义,因此Windows服务通常是更明智的做法。缺点:您必须将您的应用程序安装为Windows服务,并配置您的应用程序可以侦听其配置的端口。

请注意,自托管不受Windows服务的限制。