C# 将MediatR请求动态应用于对象

C# 将MediatR请求动态应用于对象,c#,asp.net-web-api,mediatr,C#,Asp.net Web Api,Mediatr,我正在尝试在我的web api应用程序中使用MediatR。我的要求是,当一个请求到达时,它应该针对不同数量的实例执行。 例如,假设我有一个CreateRequest命令,根据请求的输入,该命令应该针对两个对象AType和BType执行。通过创建一个简单的处理程序,如以下示例所示 internal class CreateRequestHandler : IAsyncRequestHandler<CreateRequest, CreateResponse> { public

我正在尝试在我的web api应用程序中使用MediatR。我的要求是,当一个请求到达时,它应该针对不同数量的实例执行。 例如,假设我有一个
CreateRequest
命令,根据请求的输入,该命令应该针对两个对象
AType
BType
执行。通过创建一个简单的处理程序,如以下示例所示

internal class CreateRequestHandler : IAsyncRequestHandler<CreateRequest, CreateResponse> 
{
    public async Task<CreateResponse> Handle( CreateRequest message ) {
        [...]
    }
}
内部类CreateRequestHandler:IAsyncRequestHandler
{
公共异步任务句柄(CreateRequest消息){
[...]
}
}
处理程序有责任确定在哪些对象上应用该命令

编辑

根据@Aaron的要求,这里有一个关于我努力实现的示例。假设我有一个启用/禁用组件的api。实际上,有许多组件可用,api应该能够根据接收到的输入禁用单个组件或一组组件

TRequest
treresponse
对于每个处理程序都是相等的,因为所有组件都实现相同的接口


因此,我有一组命令/处理程序,每个命令/处理程序都禁用单个组件。但是,我希望避免每个处理程序都被具体化并运行。相反,我只希望mediator将请求发送到请求输入中标识的组件。

就像您希望多个处理程序处理单个请求一样?对。但我想将所有处理程序响应封装在一个更高级别的响应中。我还想动态决定哪些类型将在运行时接收命令。至于让一个请求由多个处理程序处理,您可能需要查看通知。除非你说每个请求都是由一个处理程序处理的,但是你想在运行时决定哪个处理程序。但是,通知不起作用,因为您不能从通知处理程序返回任何类型。您已经明白了:我想决定在运行时启用哪个处理程序MediaTR应该在运行时决定哪个处理程序。你能举一个例子,说明请求可能是什么样子的,这样我才能更好地理解吗?比如说,你想要多个处理程序来处理一个请求?对。但我想将所有处理程序响应封装在一个更高级别的响应中。我还想动态决定哪些类型将在运行时接收命令。至于让一个请求由多个处理程序处理,您可能需要查看通知。除非你说每个请求都是由一个处理程序处理的,但是你想在运行时决定哪个处理程序。但是,通知不起作用,因为您不能从通知处理程序返回任何类型。您已经明白了:我想决定在运行时启用哪个处理程序MediaTR应该在运行时决定哪个处理程序。你能举个例子说明请求可能是什么样子的吗?这样我才能更好地理解?