在我的应用程序服务中,我有以下用于发布域事件的代码:
var document = await dbContext.Documents.GetAggregateAsync(message.DocumentId);
publisher.SubscribeTo<DocumentOwnerChanged>()
.UsingDelegate(
async a => await messageGateway.DocumentOwnerChanged(1, 1, 1));
document.ChangeOwner(message.OwnerId);
await dbContext.SaveChangesAsync();
await publisher.Publish(document.ReleaseEvents());
我正在尝试决定我是否喜欢在应用服务中拥有发布事件的这种知识,或者我是否应该将其外部化到根目录更高的某个地方。
想法?