tags:

views:

262

answers:

2

I've got a WCF service on a server on one side of a firewall. I need to access the service from many workstations on the other side of the firewall. The network guys insist that all holes through the firewall are one-to-one so at the mo, I'll have to set up every workstation one by one. There could be loads and it'll get tedious and be prone to errors.

Is it possible to set up a WCF server on this side of the firewall that can in some clever way just act as a proxy to the 'real' WCF service on the other side of the firewall? If so, could you point me to some reference material?

+1  A: 

I have a few suggestions, maybe one would work in your case:

  • Place the WCF service outside the firewall. If the WCF service needs to talk to the database, open the database port for the IP address of the machine running the WCF service.
  • Program or use code generation to create a WCF service that is simply a pass through layer
  • There may be some functionality in your firewall that allows you to publish an end point
Shiraz Bhaiji
1. I can't - the server is stuck where it is2. where would I get the code generation?3. hadn't thought of this - it's an appliance - not sure if they do this sort of thing
serialhobbyist
Have a look at this video http://www.dnrtv.com/default.aspx?showNum=103 It shows how to implement a wcf proxy manually. If you use this you may be able to get away with writing only one line of code for each method you have in your WCF service.
Shiraz Bhaiji
Thanks, I'll have a look at the video
serialhobbyist
+4  A: 

There is a new concept of a WCF Relay service being developed for the Windows Azure "cloud" computing space. That would allow you to create your scenario fairly easily - just host some bits of your service out in the cloud.

See these links for more information:

or search Google for "WCF Relay Service". There are also a number of new bindings specifically for these WCF scenarios.

Hope this helps.

Marc

UPDATE:
WCF v4 - to be released with .NET 4.0 later this year (2009) will include a RoutingService class which can be used in scenarios like this.

See more info about the WCF4 routing service here:

marc_s
serialhobbyist
I agree with your concerns - but MS has clearly stated that the Azure infrastructure will be deployed worldwide, and you will be able to specifically specify if you have any preferences / requirements as to where the data and/or services are hosted.
marc_s