0

私の状況は次のようになります。

クライアントと実際に要求を処理している内部 WCF サービスとの間のプロキシとして機能する WCF サービスがあります。このサービスは IIS 7 でホストされています。

プロジェクトにサービス参照を追加し、バインディングとエンドポイントの構成データを web.config に含めました。内部サービスは、basicHttpBinding と netTcpBinding の 2 つのバインディングを提供します。basicHttpBinding を使用すると、すべてが期待どおりに機能します。ただし、netTcpBinding を使用すると、恐ろしいエラー メッセージが表示されます。

「ソケット接続が中止されました。これは、メッセージの処理中にエラーが発生したか、リモート ホストが受信タイムアウトを超えたか、基になるネットワーク リソースの問題が原因である可能性があります。ローカル ソケットのタイムアウトは '00:09:59.9979996' でした。」

内部例外テキスト:「既存の接続がリモート ホストによって強制的に閉じられました」。

私が作成した小さなテスト プログラムを使用すると、net.tcp を使用してバックエンド サービスに正常に接続できるので、IIS によってホストされているサービスに問題があるに違いないと思います。IIS 構成で net.tcp プロトコルを既に有効にしています。明確にするために言うと、問題はIIS 内で net.tcp サービスをホストすることではなく、IIS で実行されているサービスからアクセスすることです。

私はここで何かが欠けているに違いないことを知っています.うまくいけば、あなたの一人が私を正しい方向に向けることができます:)

4

1 に答える 1

1

私の最初のアイデア:内部サーバーでポート共有が有効になっていません。

これで問題が解決しない場合は、サービスの両側でsystem.serviceModel 診断を構成して、さらにエラーの詳細を取得できます...

于 2012-09-19T15:02:59.920 に答える