使用 MediatR 时让一个处理程序调用另一个处理程序是否可以?

Who*_*ver 5 c# oop cqrs mediatr

或者这被认为是不好的做法还是什么?

我有一个通知触发 4-5 个处理程序,这些处理程序又调用数据库来检索数据。每个这些调用也可以单独调用,因此它们本身就是请求/处理程序。

谢谢。

小智 9

Jimmy Bogard(mediatr 的作者)说你应该避免这种情况。

请参阅他的博客文章

https://lostechies.com/jimmybogard/2016/12/12/dealing-with-duplication-in-mediatr-handlers/

或这个堆栈溢出问题和答案 https://github.com/jbogard/MediatR/issues/400

另请注意,如果您使用行为,它们将运行多次。这可能会导致代码效率低下,但当然这也可能是您想要发生的:-)

  • 虽然这可能回答了这个问题,但请考虑一下链接会消失的事实。因此,请考虑总结您链接到的内容。 (4认同)