加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

比较自托管:WCF与HttpListener

发布时间:2020-12-16 03:58:46 所属栏目:asp.Net 来源:网络整理
导读:我一直在研究在自托管应用程序中使用ASP.NET Web API和SignalR的可能性,我注意到ASP.NET Web API自托管实现使用WCF,而SignalR自托管实现使用System .Net.HttpListener.这使得提出一个组合的自托管解决方案变得有点困难,但它确实让我想知道为什么不同的项目团
我一直在研究在自托管应用程序中使用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.

解决方法

就这样我们在同一页面上,Web API Self主机使用的WCF Self-host,确实使用了HttpListener.但是,我想我可能已经找到了WCF自主主机的一个主要缺点.

我还没有确认这一点,但似乎当您使用Web API Self Host时,您提供的基地址不会直接转换为HttpListener前缀.看起来WCF会将基地址和通配符转换为主机.

这意味着WCF自主机将响应指定端口上的任何主机.这意味着您无法使用不同的主机名在同一端口上与IIS并行运行Web API Self托管服务.

这可能是SignalR决定废弃WCF自主机并直接使用HTTPListener的原因.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读