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

asp.net-web-api – 为WCF REST和ASP.NET Web API共享相同的端口

发布时间:2020-12-16 09:54:47 所属栏目:asp.Net 来源:网络整理
导读:我使用WCF webhttpbinding实现了现有的基于 JSON的服务.此服务托管在Windows服务中.我们也实现了SSL.现在我打算使用ASP.NET Web API创建新的基于JSON的服务,它应该托管在Windows服务中.但问题是客户端是在防火墙后面,他们无法向世界公开许多端口,所以我要重
我使用WCF webhttpbinding实现了现有的基于 JSON的服务.此服务托管在Windows服务中.我们也实现了SSL.现在我打算使用ASP.NET Web API创建新的基于JSON的服务,它应该托管在Windows服务中.但问题是客户端是在防火墙后面,他们无法向世界公开许多端口,所以我要重用已经打开的端口.我知道这是不可能的.但是有没有解决方法我们可以使用相同的端口来处理WCF REST和ASP.NET Web API的请求?

编辑:我没有兴趣为此创建任何额外的WCF router.

解决方法

只要路径不同,WCF REST和Web API都可以共享同一个端口.

例如,

// Starting WCF service in port 13375 (Running in Process 1)
ServiceHost wcfServiceHost = new ServiceHost(typeof(StaffIntegrationService));
wcfServiceHost.addServiceEndPoint(typeof(IStaffIntegrationService),webHttpBinding,“http://localhost:13375/wcf”);
wcfServiceHost.open();


// Start WebAPI in 13375 (Running in Process 2)
using (WebApp.Start<Startup>(url: “http://localhost:13375/api”))
{
   Console.WriteLine(“Service is started”);
}

WCF和Web API都成功运行并在端口13375上侦听.在HTTP.SYS模块下,此端口共享由此负责.

(编辑:李大同)

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

    推荐文章
      热点阅读