WCF服务可以在IIS和Windows服务中托管。有什么区别?在Windows服务中托管比IIS更有益吗?
答案 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服务的限制。