应用开发实战:从服务端到客户端的完整实现
1. 事件处理与服务搭建
事件处理程序通常放置在 Handlers 文件夹中。以价格变更事件处理程序为例:
public class PackagePriceChangedEventHandler( IPackageEventRepository repo) :
IEventHandler<PackagePriceChangedEvent>
{
public Task HandleAsync(PackagePriceChangedEvent ev)
{
repo.New(PackageEventType.CostChanged, ev.PackageId,
ev.OldVersion, ev.NewVersion, ev.NewPrice);
return Task.CompletedTask;
}
}
主构造函数会自动注入 IPackageEventRepository 存储库,该存储库负责处理数据库表以及要发送到其他应用程序的所有事件。 HandleAsync 方法简单地调用存储库方法,将新的 IPackageEvent 添加到事件队列中,以便发送到其他微服务。
IPackageEvent 记录应从上述队列中提取,并通过并行任务发送到所有感兴趣的微服务。可以将其实现为托管服务(继承自
超级会员免费看
订阅专栏 解锁全文
1370

被折叠的 条评论
为什么被折叠?



