我有一个在端口XXX3上运行了多年的WCF应用程序(应用程序A),现在我已经创建了同一应用程序(应用程序B)的RESTful版本。我最初想在端口XXX4上设置应用B,但我必须处理阻止端口的公司安全策略。
如果我在端口XXX3上运行应用程序B,它似乎可以正常运行,并且应用程序A也似乎没有任何问题。
我一直给人印象,一个给定的应用程序应该使用其自己的端口...因此,我担心如果在同一端口上,应用程序A和B之间会发生冲突。我应该担心冲突还是这不是问题?我阅读的所有内容似乎也表明它们应该位于不同的端口上。
最后一条信息...由于应用程序A是WCF,而应用程序B是.NET Core Web API应用程序,它们都使用不同的终结点,因此我怀疑这就是为什么似乎没有任何冲突的原因。端点本身确定端口数据的路由位置吗?谁能给出一个简单的网络解释,以解释为什么这似乎在同一个端口上与他们一起工作,并且可以这样运行吗?
WCF和REST应用程序在同一端口上使用不同的端点,这样可以吗?
TL; DR:是的。
我一直觉得给定的应用程序应该使用自己的端口
通常是的。
我应该担心冲突还是这不是问题?否。IIS中托管的WCF应用程序现在可以共享端口。(下面)
WCF应用程序有能力共享端口的某个时候现在当了IIS托管。
这是MSDN必须说的(我的重点):
跨多个HTTP应用程序共享端口的功能长期以来一直是Internet信息服务(IIS)的功能。但是,只有在IIS 6.0中引入HTTP.SYS(内核模式HTTP协议侦听器)后,该基础结构才被完全推广。实际上,HTTP.SYS允许任意用户进程共享专用于HTTP流量的TCP端口。此功能允许许多HTTP应用程序在单独的隔离进程中共存于同一台物理计算机上,同时共享通过TCP端口80发送和接收流量所需的网络基础结构。Net.TCP端口共享服务为net提供相同类型的端口共享.tcp应用程序。
同时,.NET Core应用程序还可以通过HTTP.sys(ASP.NET Core中的Web服务器实现)通过TCP端口共享受益。
MSDN:
HTTP.sys是ASP.NET Core的Web服务器,仅在Windows上运行。
HTTP.sys支持以下功能:
- Windows验证
- 端口共享...
上
最后一条信息...由于应用程序A是WCF,应用程序B是.NET Core Web API应用程序,它们都使用不同的端点,因此我怀疑这就是为什么似乎没有任何冲突的原因
它们可能具有两个不同的逻辑端点,但是两者都可以通过公共HTTP.SYS共享TCP 80。与IIS全部共享中托管的多个WCF应用程序没有什么不同http://xxx:80/<service-suffix>
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句