尝试在 MassTransit 中设置并发消息限制时出错

Error trying to set concurrency message limit in MassTransit

我有一个简单的 .NET 工作者服务应用程序,用于测试 MassTransit。我正在尝试使用此处的示例:https://masstransit-project.com/advanced/middleware/concurrency-limit.html

具体来说,我正在尝试使用 UseConcurrentMessageLimit() 方法,但是 e.Consumer 部分突出显示了一条错误消息“Reference to类型 'IReceiveEndpointConfigurator' 声称它在 'MassTransit' 中定义,但找不到。

我正在使用 MassTransit 8.0.2。

我想知道是否需要包含一些额外的 NuGet 程序包才能使其正常工作。我尝试使用 Memory Transport、SQS 和 RabbitMQ(如果它是特定于传输的),我不断收到相同的错误。

嗯,两个不相关的答案:

  1. 未找到对类型的引用是由于您的解决方案中的某些程序集引用了旧版本的 MassTransit 或过时的程序包。通常,所有 MassTransit.* 包都应具有相同的版本号。如果某个包在当前版本中不可用,则该包可能已被弃用且不再使用。

  2. 不再推荐也不应使用 UseConcurrentMessageLimit 过滤器。相反,要么在接收端点或消费者配置器上设置 ConcurrentMessageLimit 属性。