我正在尝试在我的 web api 应用程序中使用 MediatR。我的要求是,当请求到达时,它应该针对可变数量的实例执行。例如,假设我有一个CreateRequest
命令,并且根据请求的输入,该命令应该针对两个对象AType
和BType
. 通过创建一个简单的处理程序,如以下示例所示
internal class CreateRequestHandler : IAsyncRequestHandler<CreateRequest, CreateResponse>
{
public async Task<CreateResponse> Handle( CreateRequest message ) {
[...]
}
}
确定在哪些对象上应用命令将是处理程序的责任?
编辑
根据@Aaron 的要求,这里是我想要实现的示例。假设我有一个启用/禁用组件的 api。实际上有许多组件可用,api 应该能够根据接收到的输入禁用单个组件或一组组件。
TRequest
并且TResponse
对于每个处理程序都是平等的,因为所有组件都实现相同的接口。
出于这个原因,我有一组命令/处理程序,每个都禁用一个组件。但是我想避免每个处理程序都实现并运行。相反,我只希望中介将请求发送到请求输入中标识的那些组件。