NServiceBus没有使用IMessage / NServiceBus引用向我的解决方案发送垃圾邮件

时间:2010-05-30 01:51:08

标签: nservicebus

有没有人找到使用NServiceBus的智能方法,而不必为所有消息实现无用的IMessage标记接口?

特别是,当使用DomainEvents时,我绝对不愿意将我的域耦合到特定的servce总线实现。

4 个答案:

答案 0 :(得分:5)

我刚注意到Udi正在向NServiceBus 3.0添加Unobtrusive Mode。它出现 这将解决这个问题。甚至还有一个sample writeup,但你必须在此时提取最新的github(2012年2月)。如果你愿意忍受一些潜在的不稳定性来获得纯粹的POCO消息,你可以尝试一下。

答案 1 :(得分:1)

需要IMessage接口,以便NServiceBus可以在序列化程序中自动注册这些类型。使用域事件时,不建议直接在总线上发布它们 - 相反,域事件处理程序会将它们转换为服务级事件(继承IMessage)。

答案 2 :(得分:0)

您可以创建自己的接口来实现NSB标记接口,然后将NSB依赖项ILMerge到您自己的DLL中。这应该允许您只需要引用自己的Dll,而不需要外部引用NSB。

它是NSB为自己的依赖所做的事情,所以你应该能够扩展这个想法,一定要查看这种方法的缺陷 - Udi最近在博客上发表了

http://www.udidahan.com/2010/08/01/cautiously-merging-il/

答案 3 :(得分:0)

六个月后,仍然没有关于这个问题(修复/改进)??

可能的解决方案摘要:    1)ILMerge或..    2)自定义包装消息的自定义调度程序。

所有这些都是因为IMessage标记界面。