MediatR 请求处理程序未从其他位置调用

MediatR request handler is not called from another location

当我从控制器调用 MediatR Send() 时,处理程序被调用。

    private readonly IMediator _requestsRouter;

    public async Task<DTO.UserAccount> GetUserAccount()
    {
        var req = new GetUserAccount(x, y, z, y);     
        var response = await _requestsRouter.Send(req);
        return response;
    }

从另一个 MediatR 请求调用相同的 MediatR 请求也可以:

Controller -> MediatR_Request _1 -> GetUserAccount request handler

这也适用,除了最后一步:

Controller -> MediatR_Request_0 -> MediatR Notification -> MediatR Request _1(the same as before) -> does not arrive to GetUserAccount Handler.

我从之前的步骤 (MediatR Request#1) 中检查了 IMediator _requestsRou​​ter,它注册了 GetUserAccount 处理程序,如下所示:

VS 调试控制台中的可疑消息:“抛出的异常:Microsoft.Extensions.DependencyInjection.dll 中的 'System.ObjectDisposedException' 'System.ObjectDisposedException' 在 System.Private.CoreLib.dll"

无法调试,未到达处理程序。 我该如何解决问题?

嵌套 MediatR 请求、通知是否有任何限制?

我在第一个 MediatR.Publish() 调用中缺少 await。据我所知,没有 await 导致 ObjectDisposedException 现在已经消失了。