gpt4 book ai didi

c# - MediatR NotificationHandler 即发即忘

转载 作者:行者123 更新时间:2023-12-05 02:15:00 26 4
gpt4 key购买 nike

如何让我的 MediatR 通知处理程序触发并忘记?

我的示例代码:

public class BackupDatabase : INotification {}

public class BackupDatabaseNotificationHandler : INotificationHandler<BackupDatabase>
{
public async Task Handle(BackupDatabase notification, CancellationToken cancellationToken)
{
await Task.Delay(100000000);
}
}

public async Task<IActionResult> SomeAction()
{
await _mediator.Publish(new BackupDatabase());
return Json(true);
}

我知道一种方法是使用 Task.Factory.StartNew,但是还有另一种方法吗?

最佳答案

Mediatr 通知处理程序已经是即发即弃的了。

处理此问题的另一种方法是将后台任务排队以完成工作。看看像 Hangfire 这样的东西并在 _mediator.Send() 或 _mediator.Publish() 方法中实现它。

Hangfire 将使您能够监控后台任务,并能够在需要时自动重试任务。

some other options如果 Hangfire 不是您的选择。

希望这对您有所帮助!

关于c# - MediatR NotificationHandler 即发即忘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52783220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com