【发布时间】:2019-12-03 17:11:01
【问题描述】:
var response = SaveOrderInDB();
OrderCreatedEvent orderCreatedEvent = new OrderCreatedEvent(x, y, z);
_requestRouter.Publish(orderCreatedEvent);
return response;
根据 MediatR 文档,通知是“即发即弃”功能。我不使用 await,因为我想在发布通知后立即将“响应”对象返回给客户端 Angular 应用程序。 但是,当我在通知处理程序中放置断点时,我在 Chrom 开发工具中看到请求仍处于挂起状态,等待通知完成。
public Task Handle(OrderCreatedEvent notification, CancellationToken cancellationToken)
{
return Task.CompletedTask; // Breakpoint is here
}
【问题讨论】:
-
阻止它返回任务的断点不是完成了吗?
-
@DavidEdel 是的,是的。也许我不够清楚。我的问题是如何发布 MediatrR 通知,而无需像屏幕截图那样等待它们完成。
标签: c# asp.net-core mediatr