将MediatR请求动态应用于对象

时间:2017-09-29 14:41:23

标签: c# asp.net-web-api mediatr

我正在尝试在我的web api应用程序中使用MediatR。我的要求指出,当请求到达时,应该针对可变数量的实例执行。 例如,假设我有一个CreateRequest命令,并且该命令(取决于请求的输入)应该针对两个对象ATypeBType执行。通过创建一个简单的处理程序,如下面的示例

internal class CreateRequestHandler : IAsyncRequestHandler<CreateRequest, CreateResponse> 
{
    public async Task<CreateResponse> Handle( CreateRequest message ) {
        [...]
    }
}

确定哪些对象应用命令是一种处理程序的责任?

修改

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

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

出于这个原因,我有一组命令/处理程序,每个命令都会禁用一个组件。但是我想避免每个处理程序都实现并运行。相反,我只希望调解器将请求发送到请求输入中标识的那些组件。

0 个答案:

没有答案