C# 使用REBS负载平衡器时出现类型初始化异常

C# 使用REBS负载平衡器时出现类型初始化异常,c#,load-balancing,producer-consumer,rebus,C#,Load Balancing,Producer Consumer,Rebus,我正在将Rebus与MSMQ一起使用。我曾经尝试过一个场景,在这个场景中,我的制作人在不同的机器上向消费者发送消息,效果很好 现在我需要使用多个消费者,并且需要在他们之间分配负载。我把样品放进生产机器里。但是我从第一行的负载平衡器中得到了以下异常 我在本地计算机中有一个名为distributor的队列,并且我的工作队列存在且名称正确 无法从程序集加载类型'Rebus.Logging.RebusLogger Factory' “Rebus,版本=2.0.1.0,文化=中性, PublicKeyTo

我正在将
Rebus
MSMQ
一起使用。我曾经尝试过一个场景,在这个场景中,我的制作人在不同的机器上向消费者发送消息,效果很好

现在我需要使用多个消费者,并且需要在他们之间分配负载。我把样品放进生产机器里。但是我从第一行的负载平衡器中得到了以下异常

我在本地计算机中有一个名为distributor的队列,并且我的工作队列存在且名称正确

无法从程序集加载类型'Rebus.Logging.RebusLogger Factory' “Rebus,版本=2.0.1.0,文化=中性, PublicKeyToken=null.“:“Rebus.Logging.ReusLogger工厂”


您能帮我解决这个问题吗?

问题是负载平衡器很旧,不能与“Rebus 2”(即Rebus版本0.90.0及以上)一起使用

不过,您可以使用REBS轻松实现负载平衡器,因为您只需创建一个使用REBS内置传输消息转发功能的端点

演示如何在配置REBS时通过调用
AddTransportMessageForwarder
配置传输消息转发

这样做的好处是,它可以避免消息经过许多步骤(例如反序列化、处理程序查找等),因此速度非常快


当然,实现负载平衡算法完全取决于您。它可能非常简单,只需从队列名称数组中选择,然后在它们之间选择即可。

问题在于负载平衡器很旧,不能与“REBS 2”(即REBS版本0.90.0及以上)一起使用

不过,您可以使用REBS轻松实现负载平衡器,因为您只需创建一个使用REBS内置传输消息转发功能的端点

演示如何在配置REBS时通过调用
AddTransportMessageForwarder
配置传输消息转发

这样做的好处是,它可以避免消息经过许多步骤(例如反序列化、处理程序查找等),因此速度非常快


当然,实现负载平衡算法完全取决于您。它可以非常简单,只需从一组队列名称开始选择,然后在它们之间选择即可。

非常感谢您的评论。通过做一些研究,我想到了使用带有ha代理负载平衡器的rabbitmq ha集群。现在我正试图从rebus连接到我的负载平衡器,但我不知道如何为rebus设置connectionstring。当我通过节点的连接字符串单独连接到节点时,它运行良好(例如:amqp://test:test@10.182.40.68:5672 ). 只有当我修改connectionstring以使用负载平衡器时,它才不起作用。我的负载平衡器连接字符串是amqp://10.182.40.220:5670. 你能告诉我我做错了什么吗?非常感谢你的评论。通过做一些研究,我想到了使用带有ha代理负载平衡器的rabbitmq ha集群。现在我正试图从rebus连接到我的负载平衡器,但我不知道如何为rebus设置connectionstring。当我通过节点的连接字符串单独连接到节点时,它运行良好(例如:amqp://test:test@10.182.40.68:5672 ). 只有当我修改connectionstring以使用负载平衡器时,它才不起作用。我的负载平衡器连接字符串是amqp://10.182.40.220:5670. 你能告诉我我做错了什么吗?