0

我正在为 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;

任何人都可以建议改进此配置吗?谢谢。

4

0 回答 0