bluee
bluee

Reputation: 1027

C# Calling WCF behind DMZ

I need to call a WCF service that is behind a DMZ:

WEBDMZ           ..    LANDMZ
-------------          ------------
ClientServer     =>    WCF service

As there is a firewall between the two it's not possible for the Client to connect to the WCF service. So I need the WCF service to connect to the client and "listen" to connections or create a tunnel somehow.

I feel it must be a very common problem but I haven't been able to find a proper solution yet. And no it's not possible to open a port. The connection have to be initiated by the WCF.

The client is a server and can easily host any MSMQ or other service.

It seems like this problem can also be referred to as "reverse proxy" or "reverse tunnel".

Solution ideas:

I'm looking for the simplest solution, preferably in C# and without 3rd party software. Perhaps there is a WCF configuration that allows for reverse calls?

Upvotes: 1

Views: 1551

Answers (1)

Toan Vo
Toan Vo

Reputation: 1298

With .Net version 4, you can look at WCF Routing service at here. Or you can build a routing service by yourself following example from Michele Leroux. Here is the link.

EDIT:

You can build a routing service, put it at WEBDMZ server, it will contains list of endpoint wcf service put at DMZ server. At here it will take role as a service server as well as client connect to services at DMZ server. You also can build a discovery service to configure these endpoints automatically.

Upvotes: 1

Related Questions