为什么我们需要 Web API 或 WCF 服务来自托管?

Why do we need a Web API or a WCF Service to be self-hosted?

请帮助我理解,为什么我们需要 WEB API 或 WCF 服务来自托管。

谁能具体说说就更好了。

我喜欢自行托管我的 WCF 和 WebAPI 服务,因为:

  • 我不用纠结IIS、虚拟目录、应用程序池和它们的回收习惯

  • 我可以定义自己的自定义地址 - 如 http://myserver:7711/services/myService.svc 等 - 没有限制,因为 IIS 在虚拟目录中托管我的 *.svc 文件

  • 完全支持所有协议(包括net.tcpnet.pipe等)——IIS本身只支持http/https,而WAS(Windows Activation Services)来支持其他的是一个插件 - 有更多的配置和麻烦

  • 我可以将我的服务粘贴到一个简单的控制台应用程序中并在需要时启动它们(例如调试),然后非常轻松地再次停止它们

  • 我可以在我自己的 Windows 服务中托管我的服务,完全在我自己的控制之下,我可以根据需要启动和停止 - 我不必依赖 IIS 和它的基础结构,我不必处理 IIS 等的所有缺点

对我来说 - 这些都是学习使用 self-hosting 用于我的 WCF 和 WebAPI 服务的充分理由 - 几乎总是!