发送加密的 msmq 消息时,身份验证似乎会降低速度(从 2500 msg/sec 到 150 msgs/sec)。
System.Messaging.MessageQueue 和带有 msmqIntegration 绑定的 Wcf 客户端似乎都是这种情况。
我的要求是加密传输,无需身份验证即可。我更喜欢 WCF 客户端,因为可以从 app.config 更改设置。
msmqIntegrationBinding 有没有办法在没有身份验证的情况下进行传输加密?
<msmqIntegrationBinding>
<binding name="VisionAirMessagingBinding"
timeToLive="12:00:00"
maxReceivedMessageSize="4100000"
receiveErrorHandling="Move"
retryCycleDelay="00:30:00"
useMsmqTracing="false"
serializationFormat="Stream">
<security mode="Transport">
<transport msmqAuthenticationMode="WindowsDomain"
msmqEncryptionAlgorithm="RC4Stream"
msmqProtectionLevel="EncryptAndSign"
msmqSecureHashAlgorithm="Sha1"/>
</security>
</binding>
我发现通过在使用系统时注释掉以下内容,身份验证会减慢我的速度。
q1.Send(new Message
{
BodyStream = new MemoryStream(
Encoding.ASCII.GetBytes("ABCDEFGHIJKLMNOPQRSTUVXYZ")),
Label = i.ToString(),
//UseAuthentication = true,
UseEncryption = true
}, msmqTx);
如果我打开身份验证,发送又变慢了!
感谢您的帮助!