新公共交通中 PublishRequest() 的替代方法

Alternative method for PublishRequest() in new Masstransit

我正在尝试使用 RabbitMQ 将我的代码从旧版本的 Masstransit 更新到它的新版本 (v. 3),我想使用 request/response 模式,我的旧代码是:

public static void SendCommand<TCommand>(this IServiceBus bus, TCommand command, Action<InlineRequestConfigurator<TCommand>> callback) where TCommand : CommandBase
{
    command.Validate();
    bus.PublishRequest(command, callback); // Here is my problem
}

我在 IBusControl 中找不到 PublishRequest() 的任何替代方法,我认为它是定义的而不是 IServiceBus

任何帮助将不胜感激。

我相信你想要的是 IBus 接口,因为 IServiceBus 在 MT 3 中被删除了。 IBus 只是接口的集合,所以你可以使用最低的支持您需要的方法的通用接口。

您真的需要发布您的请求(而不是将其发送到特定端点)吗?请求通常应发送到特定端点。

这在文档中有详细描述: http://docs.masstransit-project.com/en/latest/usage/request_response.html

您的方法名为 SendCommand 这一事实引起了很好的共鸣。