4

我正在尝试掌握 ServiceBus 架构,并且正在使用 RawRabbit 1.10.4。为此,我正在学习使用 RawRabbit 的在线课程。在命令处理程序的注册中,创建了以下扩展方法,其中调用了 Methoc ctx.UseConsumerConfiguration。

Extension 方法应该在 RawRabbit.Pipe 命名空间中,该命名空间不可用。我需要安装什么 nuget 包以获取扩展方法,或者在 1.10.4 版中是否删除了此扩展方法/命名空间?

    public static class Extensions
{
    public static Task WithCommandHandlerAsync<TCommand>(this IBusClient bus,
        ICommandHandler<TCommand> handler)
        where TCommand : ICommand
    => bus.SubscribeAsync<TCommand>(msg => handler.HandleAsync(msg),
        ctx => ctx.UseConsumerConfiguration(cfg => cfg.FromDelaredQueue(q => q.WithName("XXX"))));
}
4

3 回答 3

5

我认为你需要安装 RawRabbit 2.0,而 Nuget Manager Package 中的最新版本只有 1.10.4 左右。但是,您可以使用 Package Manager Console 安装具有以下语法的版本 2

Install-Package RawRabbit -Version 2.0.0-beta9

希望这可以帮助

于 2018-04-10T23:38:55.753 回答
0

实际上,您必须安装 nuget 包 RawRabbit.Compatibility.Legacy 然后在您的类中引用命名空间 RawRabbit.Compatibility.Legacy 或安装包RawRabbit.Operations.Subscribe如果您不想使用旧代码

使用UseSubscribeConfiguration代替UseConsumerConfiguration

于 2018-09-07T13:02:05.290 回答
0

在“添加包”对话框中,您可以勾选“显示预发布包”复选框,因此“版本”组合框也将显示 beta 和 rc 版本。

添加包对话框

于 2019-04-14T12:40:05.950 回答