// 摘自 MediatR 14.2.0,许可声明与修改记录见 LICENSE.md 和 UPSTREAM.md。 using System.Threading; using System.Threading.Tasks; namespace MAX.Notification; /// /// 发布通知或事件,交由多个处理器处理。 /// public interface IPublisher { /// /// 异步向多个处理器分发通知。 /// /// 通知对象。 /// 可选的取消令牌。 /// 表示本次通知发布操作的任务。 Task Publish(object notification, CancellationToken cancellationToken = default); /// /// 异步向多个处理器分发通知。 /// /// 通知对象。 /// 可选的取消令牌。 /// 表示本次通知发布操作的任务。 Task Publish(TNotification notification, CancellationToken cancellationToken = default) where TNotification : INotification; }