RabbitMQ消息队列C#客户端支持Tls,五个"非常"助你轻松实现RabbitMQ客户端支持Tls。
1、非常具有迷惑性的异常提示
通常C#异常信息一般会直接放到Exception.message中,而在RabbitMQ中Exception.message大部分情况下都是一串相同的字符串,该字符串为"None of the specified endpoints were reachable"。所以最开始调试RabbitMQ客户端时会有疑惑,为什么不管怎么修改,给出的错误信息都是一样的,这样就给我们的开发工作造成了很大的困扰。然而经过耐心的分析和观察后就会发现,其实,RabbitMQ将异常信息的区别放到了Exception.InnerException中,而且有的时候为了找到具体的异常原因,需要深入查看内部的InnerException。
例如上面这个图片所示的异常,根据InnerException看问题的原因是访问被拒绝,这里一般是使用的账户没有VirtualHost的权限,或者是账号密码错误。而直接看异常Message就很容易被迷惑。
2、非常容易忽视的重要属性
_factory.Ssl.ServerName = “test.gzcloud.apply”; serverName使用的服务端证书的cn字段,如果这里写错会抛异常。
3、非常重要的小总结
需要用到的跟证书相关的操作包含:
1)ca证书文件安装