我正在为 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;
任何人都可以建议改进此配置吗?谢谢。