Служба WCF не ответила, тайм-ауты в системе за брандмауэром с NAT - PullRequest
1 голос
/ 21 августа 2010

Я столкнулся со странной проблемой, вот мой сценарий

  1. Одна служба WCF (названная WCF1 ) развернута на веб-сервере с basicHttpBinding (потоковая передача включена)
  2. У меня есть приложение-служба Windows, которое использует WCF1 и размещает службу WCF (с именем WCF2 ) с namedPipeBinding (duplex).
  3. Приложение Windows, которое потребляет WCF2 и обрабатывает события, возникающие из него (потому что эта служба является дуплексной).

Теперь, если я вызываю функцию из приложения Windowsна WCF2 , которая дополнительно вызывает функцию WCF1 на обычной машине, она успешно работает.
Но когда я делаю это на машине, которая находится за аппаратным межсетевым экраном (с включенным NAT), функция WCF2 успешно вызван, и функция, вызванная из WCF2 в WCF1, завершилась неудачно с истекшим временем ожидания.Если я вызываю функцию WCF1 напрямую, без использования WCF2, она работает успешно.Я знаю, в NAT дуплекс комм.хлопотно и не поддерживается в большинстве случаев.но в сообщении нет роли дуплекса между WCF1 и WCF2 ,
Если есть какая-либо роль, то как я могу предотвратить ее ...,
примечание:Я не могу отключить NAT

...