c#在DMZ后面调用WCF
本文关键字:调用 WCF DMZ | 更新日期: 2023-09-27 18:14:54
我需要调用位于DMZ后面的WCF服务:
WEBDMZ .. LANDMZ
------------- ------------
ClientServer => WCF service
由于两者之间有防火墙,因此客户端不可能连接到WCF服务。因此,我需要WCF服务连接到客户端并"监听"连接或以某种方式创建隧道。
我觉得这一定是一个非常普遍的问题,但我还没能找到一个合适的解决方案。不,打开端口是不可能的。连接必须由WCF发起。
客户端是一个服务器,可以很容易地托管任何MSMQ或其他服务。
似乎这个问题也可以被称为"反向代理"或"反向隧道"。
解决方案的想法:
客户端托管的MSMQ(但我担心如果它只是简单地一直轮询并创建网络开销)。
反向隧道/代理?
WCF双吗?
我正在寻找最简单的解决方案,最好是在c#和没有第三方软件。也许有一个WCF配置允许反向调用?
在。net版本4中,你可以在这里查看WCF路由服务。或者你可以按照Michele Leroux的例子自己构建一个路由服务。这是链接。
编辑:您可以构建一个路由服务,将其放在WEBDMZ服务器上,它将包含放置在DMZ服务器上的端点wcf服务列表。在这里,它将扮演服务服务器的角色,以及客户机连接到DMZ服务器上的服务。您还可以构建一个发现服务来自动配置这些端点。