views:

41

answers:

0

I am encountering a strange problem, here is my scenario

  1. One WCF Service (named WCF1) is deployed on Web Server with basicHttpBinding (streaming enabled)
  2. I've a Windows Service Application which consumes WCF1, and hosts a WCF Service (named WCF2) with namedPipeBinding (duplex).
  3. A Windows Application which consumes WCF2, and handles events raised from it (because this service is duplex).

Now if I'm calling a function from windows application on WCF2 which further calls a function of WCF1 on an ordinary machine it works successfully.
But when I'm doing this on a machine which is behind Hardware Firewall (with NAT enabled), function of WCF2 called successfully, and function called from WCF2 on WCF1 failed with timeout expired. If I'm calling function of WCF1 directly without using WCF2, It works successfully. I know, In NAT duplex comm. is troublesome and is not supported in most cases. but There is no role of duplex in Communication between WCF1 and WCF2,
If there is any role, Then how Can i prevent it...,
note: I cannot disable NAT