Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用MediatR时让一个处理程序调用另一个处理程序可以吗?_C#_Oop_Cqrs_Mediatr - Fatal编程技术网

C# 使用MediatR时让一个处理程序调用另一个处理程序可以吗?

C# 使用MediatR时让一个处理程序调用另一个处理程序可以吗?,c#,oop,cqrs,mediatr,C#,Oop,Cqrs,Mediatr,或者这被认为是坏习惯还是什么 我有一个通知触发器4-5个处理程序,它们依次调用数据库来检索数据。每个调用也可以单独调用,因此它们本身就是请求/处理程序 谢谢。吉米·博加德(mediatr的作者)说你应该避免这样做 看他的博客帖子 或此堆栈溢出问题和答案 还请注意,如果您使用的是行为,它们将运行多次。这可能会导致代码效率低下,但当然也可能是您希望发生的事情:-)您在说什么?我已经做到了。没关系,只要你能管理好。但是,如果不小心,这是一种快速进入堆栈溢出异常的方法。保持处理程序的小型化,您将fi

或者这被认为是坏习惯还是什么

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

谢谢。

吉米·博加德(mediatr的作者)说你应该避免这样做

看他的博客帖子

或此堆栈溢出问题和答案


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

您在说什么?我已经做到了。没关系,只要你能管理好。但是,如果不小心,这是一种快速进入堆栈溢出异常的方法。保持处理程序的小型化,您将fine@DannyChen“是的。”亚历克斯,谢谢。溢出,你是说进入循环呼叫?现在我再看一遍,其中一些子调用主要是内部调用,没有来自最终用户的直接“请求”。也许把它们写成“服务”吧?是的,就是这样<代码> AbcHandler < /代码>调用<代码> XyzHandler < /代码>,这又称为<代码> AbcHandler <代码>,而这可能会回答这个问题,请考虑链接消失的事实。因此,请考虑总结你链接到的内容。