IPC に WCF を使用しています。
私は非常に厳密なパフォーマンス ニーズを持っているので、操作全体は数ミリ秒しかかかりません。(私が言うには3〜4ミリ秒でブロックされます...)ただし、WCFのオープンには約10ミリ秒かかります。実行されたいくつかのパフォーマンス テストを調べたところ、はるかに優れた結果が得られることがわかりましたが、そうすることができませんでした。開いている接続を保存することはできますが、本当に避けたいです。
私はすでにリリースでコンパイルし、セキュリティなどを削除しようとしました(それはほんの少しだけそれを下げただけです...)
これは私の構成です(コードで定義されています):
NetTcpBinding tcpBinding = new NetTcpBinding(SecurityMode.Message, false)
{
SendTimeout = TimeSpan.FromSeconds(1),
ReceiveTimeout = TimeSpan.FromSeconds(1),
OpenTimeout = TimeSpan.FromMilliseconds(500),// FromMinutes(1),
TransactionFlow = false,
TransferMode = TransferMode.Buffered,
TransactionProtocol = TransactionProtocol.OleTransactions,
HostNameComparisonMode = HostNameComparisonMode.StrongWildcard,
ListenBacklog = ushort.MaxValue,
MaxBufferPoolSize = 20 * 1024 * 1024,
MaxBufferSize = 20 * 1024 * 1024,
MaxConnections = ushort.MaxValue,
MaxReceivedMessageSize = 20 * 1024 * 1024,
};
// Windows authentication
tcpBinding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Windows;
tcpBinding.Security.Transport.ProtectionLevel = System.Net.Security.ProtectionLevel.EncryptAndSign;
return tcpBinding;
とにかく、この構成を改善することを提案できますか? ありがとう。