1

我刚开始使用 .NET 和 IronTools 试验 Iron.io。我能够从桌面应用程序向队列推送和获取消息就好了。现在我想创建一个工作人员从队列中获取消息,对其进行处理,然后将其推送到另一个队列。工作人员失败,日志中出现以下错误:

未处理的异常:System.Net.WebException:获取响应流时出错(写入:身份验证或解密失败。):SendFailure ---> System.IO.IOException:身份验证或解密失败。---> Mono.Security.Protocol.Tls.TlsException:从服务器收到的证书无效。错误代码:Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates 的 0xffffffff800b0109
(Mono.Security.X509.X509CertificateCollection 证书)[0x00000] 在
Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate的 0 中.ProcessAsTls1 () [0x00000] in :0
在 Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process () [0x00000] in :0
在 (wrapper remoting-invoke-with-check) Mono.Security.Protocol.Tls.Handshake.HandshakeMessage:Process () 在 Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage (Mono.Security.Protocol.Tls.TlsStream handMsg) [0x00000] 在
Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] 在 :0 中的 [0x00000]

这是代码:

Console.WriteLine("Started worker1");  
IronMQ imqRead = new IronMQ("micu5", "project_id", "token");  
Console.WriteLine("Created imqRead object");  
IronIO.Data.Message msg = imqRead.Get();  
Console.WriteLine("imqRead.Get succeeded");  

(实际项目 ID 和令牌已从上面的代码中删除)

我错过了什么?

编辑:我没有提到前 2 个 WriteLines 成功,但它永远不会到达第 3 个 WriteLine。

4

1 回答 1

0

看起来您正在使用旧的 docker 映像来运行 IronWorker 任务。尝试为此使用“铁/单声道”图像。指南将引导您完成 HelloWorld .NET 示例。

于 2020-11-13T14:14:41.520 回答