IIS で ServiceHostFactory を使用して WCF サービスを実行しています。WSHttpBinding で正常に動作していますが、速度とすべてが同じネットワーク上にある (ファイアウォールなし) ため、代わりに NetTcpBinding を使用して少し速度を上げたいと考えています。
それをしようとすると、次のエラーが発生します。
net.tcp://zzz.xxx.yyy/MyService.svc に接続できませんでした。接続の試行は、00:00:01.0464395 の期間継続しました。TCP エラー コード 10061: ターゲット マシンがアクティブに拒否したため、接続できませんでした xxxx:808。
私はそれが私をSecurityMode.None
台無しにしないことを確認するためだけに使用しています。また、2つの異なる試行でこれらのいずれかを試しました:
binding.Security.Message.ClientCredentialType = MessageCredentialType.None;
binding.Security.Message.ClientCredentialType = TcpClientCredentialType.Windows;,
また、サービス呼び出しの 1 つからかなりの量のデータを取得していることも指摘しておく必要があります。したがって、これらも (http と tcp の両方の試行に - maxMessageSize を 1000000 に設定して) 置きます。
binding.MaxReceivedMessageSize = maxMessageSize;
binding.ReaderQuotas.MaxArrayLength = maxMessageSize;
それを機能させるのはかなり簡単なはずですが、何が欠けていますか?
更新: TCP ポート 808 を Web サイト ID に追加して、再試行しました。今、私はこのエラーを受け取ります:
.Net Framing をサポートしていないサービスへのチャネルを作成しようとしました。HTTP エンドポイントに遭遇している可能性があります。