1

奇妙な問題が発生しています。これが私のシナリオです

  1. 1 つの WCF サービス (名前はWCF1 ) が、basicHttpBinding (ストリーミングが有効) を使用して Web サーバーにデプロイされます。
  2. WCF1を消費し、namedPipeBinding (デュプレックス) を使用して WCF サービス ( WCF2という名前) をホストする Windows サービス アプリケーションがあります。
  3. WCF2を消費し、そこから発生したイベントを処理する Windows アプリケーション(このサービスは二重であるため)。

通常のマシンでWCF1の関数をさらに呼び出すWCF2のWindowsアプリケーションから関数を呼び出すと、正常に動作します。
しかし、ハードウェア ファイアウォールの背後にある (NAT が有効になっている) マシンでこれを実行すると、WCF2 の関数が正常に呼び出され、WCF1 で WCF2 から呼び出された関数がタイムアウトで失敗しました。WCF2 を使用せずに WCF1 の関数を直接呼び出すと、正常に動作します。私は、NAT二重通信で知っています。は面倒で、ほとんどの場合サポートされていません。しかしWCF1WCF2の間の通信には二重化の役割はありません. , 役割
があれば, どうすれば防ぐことができますか..,
注意: NAT を無効にすることはできません.

4

0 に答える 0