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

WCF: Difference between hosting in IIS and WIndows service

WCF 服务既可以托管在 IIS 中,也可以托管在 Windows 服务中。有什么区别?在 Windows 服务中托管比 IIS 有什么好处吗?

如果您的 WCF 服务是独立的,如数据服务,只需将其托管在 IIS 中。缺点:您必须安装和配置 IIS。

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

请注意,自托管不限于 Windows 服务。

查看文档:https://msdn.microsoft.com/en-us/library/ms730158%28v=vs.110%29.aspx

太棒了!

您问题的答案取决于您构建的应用程序类型以及对 application/environment...!

的其他要求

这里有一些区别(IIS 的特性.. 复制自@Joc​​ke 提供的 link)。

  • 您失去了 IIS 的所有功能(日志记录、应用程序池缩放、您站点的 throttling/config 等)...

  • 您必须自己构建 HttpContext 所需的每一个功能?

  • 你失去了它,因为 ASP.NET 为你提供了它。所以,我可以看到使身份验证之类的事情变得更加困难 WebDeploy?

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

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