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