【发布时间】:2013-01-27 12:25:33
【问题描述】:
我正在使用 NCQRS 框架和 NServiceBus 3.3.4 做一些工作。我一直在努力解决一些订阅问题,据我所知,我的所有配置都是 100% 正确的。
经过一番挖掘,我注意到 Raven DB 订阅文档中保存的 MessageType 名称看起来有点奇怪。 NCQRS 框架将域事件包装在一个名为 EventMessage'1 的通用类型中。现在,当该消息保存在 scuscription 存储中时,它似乎删除了部分名称,见下文:
Ncqrs.Nsb.EventMessage`1[[Platform.Events.Category.CategoryRemoved, Version=1.0.0.0
我希望名称更符合以下内容:
Ncqrs.Nsb.EventMessage`1[[Platform.Events.Category.CategoryRemoved, Version=1.0.0.0]]
至少。
这可能是一个错误还是我做错了什么?我在 app.config 中的订阅显示如下:
<add Messages="Ncqrs.NServiceBus.EventMessage`1[[Platform.Events.Category.CategoryRemoved, Platform.Events]], Ncqrs.NServiceBus" Endpoint="core.platform.domain" />
这让我发疯了!
【问题讨论】:
-
它看起来像一个错误。您能否在 GitHub 中提出问题,如果可以,请给我们发一份重现?
-
我对您使用 NCQRS 的原因很感兴趣。与您为不必要的抽象付出的代价相比,NCQRS 有什么好处?
-
当项目开始时,我喜欢 NCQRS 强制您明确声明命令和事件的想法,这使得在涉及到它时如何修改系统更加明显。该项目是在 NSB 2 的早期开始的,当时 ICommand 和 IEvent 不明确。更不用说我想跳上 NCQRS 火车,这是一次很棒的学习经历。
标签: nservicebus ncqrs