新的 Rebus 和插件中没有方法
Methods are absent in new Rebus and plugins
我已将项目中用于消息传递的这些库更新到最新版本:
- 雷布斯
- Rebus.RabbitMQ
- Rebus.Castle.Windsor
- Rebus.Log4Net
- Castle.Windsor
当发现这个版本中缺少一些非常方便的旧方法时,我感到非常困惑。
我有以下 rebus 配置 api:
Configure.With(new WindsorContainerAdapter(container))
.Logging(l => l.Log4Net())
.Transport(t => t.UseRabbitMqAndGetInputQueueNameFromAppConfig(connectionString)
.ManageSubscriptions().SetPrefetchCount(5))
.MessageOwnership(d => d.FromRebusConfigurationSection())
.Serialization(s => s.Use(new MySerializer()))
.CreateBus()
.Start();
新版本中没有这些方法:
- UseRabbitMqAndGetInputQueueNameFromAppConfig
- 在 RabbitMqOptionsBuilder 中管理订阅
- RebusConfigurer 中的 MessageOwnership
- Log4Net 扩展方法出现在 VS 甚至无法识别的库中
虽然 Rebus 文档在许多地方仍然引用了旧方法和场景。
旧的便捷方法做了什么?有没有人有同样的问题,可以给我一些提示 api 在当前版本 (0.99.67) 中使用什么来配置客户端的现有方式。
Rebus 0.84.0 及以下版本是 "Rebus 1" - Rebus 在 0.90.0 版中收到了相当大的更新(重写了核心,随后移植了大部分库) - "Rebus 2"
所以您最好的选择可能是 Update-Package Rebus -Version 0.84.0
(对 RabbitMQ、Windsor 和 Log4net 集成包执行相同的操作)
Rebus 2 与 Rebus 1 不兼容,所以如果您决定更新到 2,您应该注意这一点。
此外(正如您所发现的)它已经看到了一些 API 变化,其中最重要的变化是 IBus
上的大多数方法现在是 async
,因此需要你例如 await bus.Send(...)
(或者 bus.Send(...).Wait()
如果你不在 async
方法中)
我已将项目中用于消息传递的这些库更新到最新版本:
- 雷布斯
- Rebus.RabbitMQ
- Rebus.Castle.Windsor
- Rebus.Log4Net
- Castle.Windsor
当发现这个版本中缺少一些非常方便的旧方法时,我感到非常困惑。
我有以下 rebus 配置 api:
Configure.With(new WindsorContainerAdapter(container))
.Logging(l => l.Log4Net())
.Transport(t => t.UseRabbitMqAndGetInputQueueNameFromAppConfig(connectionString)
.ManageSubscriptions().SetPrefetchCount(5))
.MessageOwnership(d => d.FromRebusConfigurationSection())
.Serialization(s => s.Use(new MySerializer()))
.CreateBus()
.Start();
新版本中没有这些方法:
- UseRabbitMqAndGetInputQueueNameFromAppConfig
- 在 RabbitMqOptionsBuilder 中管理订阅
- RebusConfigurer 中的 MessageOwnership
- Log4Net 扩展方法出现在 VS 甚至无法识别的库中
虽然 Rebus 文档在许多地方仍然引用了旧方法和场景。
旧的便捷方法做了什么?有没有人有同样的问题,可以给我一些提示 api 在当前版本 (0.99.67) 中使用什么来配置客户端的现有方式。
Rebus 0.84.0 及以下版本是 "Rebus 1" - Rebus 在 0.90.0 版中收到了相当大的更新(重写了核心,随后移植了大部分库) - "Rebus 2"
所以您最好的选择可能是 Update-Package Rebus -Version 0.84.0
(对 RabbitMQ、Windsor 和 Log4net 集成包执行相同的操作)
Rebus 2 与 Rebus 1 不兼容,所以如果您决定更新到 2,您应该注意这一点。
此外(正如您所发现的)它已经看到了一些 API 变化,其中最重要的变化是 IBus
上的大多数方法现在是 async
,因此需要你例如 await bus.Send(...)
(或者 bus.Send(...).Wait()
如果你不在 async
方法中)