比较自托管:WCF与HttpListener

Joh*_*ery 4 wcf httplistener signalr asp.net-web-api

我一直在研究在自托管应用程序中使用ASP.NET Web API和SignalR的可能性,我注意到ASP.NET Web API自托管实现使用WCF,而SignalR自托管实现使用System.Net.HttpListener.这使得提出一个组合的自托管解决方案变得有点困难,但它确实让我想知道为什么不同的项目团队会使用不同的方法.

每种方法的优点和缺点是什么?是否有任何特殊原因导致SignalR无法使用WCF自托管,或者Web API无法使用HttpListener?

编辑:我知道Web API自托管提供了比SignalR更完整的堆栈,我的问题更多的是为什么在实现自己的自托管解决方案时选择WCF实现而不是System.Net.HttpListener.

Fil*_*p W 6

Web API自托管主机提供整个HTTP堆栈,因此它比System.Net.HttpListener更丰富.

SignalR使用它来纯粹为自己的目的打开通信窗口.所以是的,现在,你需要在不同的端口上并行运行它们.

将来,通过OWIN,您将拥有一切.


编辑:实际上有一个类似于你在SignalR github上提出的问题,答案就是我刚才所说的 - https://github.com/SignalR/SignalR/issues/277