增加备注
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
874c8718b1
commit
fac077d2b7
|
@ -1,4 +1,5 @@
|
|||
using EntityFramework.Exceptions.Common;
|
||||
using IRaCIS.Core.Domain.BaseModel;
|
||||
using IRaCIS.Core.Domain.Models;
|
||||
using IRaCIS.Core.Domain.Share;
|
||||
using IRaCIS.Core.Infra.EFCore.Common;
|
||||
|
@ -36,6 +37,15 @@ public class AuditEntityInterceptor(IUserInfo _userInfo,
|
|||
//////领域命令 (同一个事务提交的一些逻辑,类似Trigger 保存事务之前执行的一些逻辑) IMediator 和autofac 有冲突,不在一个事务,废弃。
|
||||
//eventData.Context.AddDomainCommands();
|
||||
//await DispatchDomainCommands(eventData.Context);
|
||||
// var domainEvent = JsonSerializer.Deserialize(storedEvent.EventData, Type.GetType(storedEvent.EventType));
|
||||
//// 序列化事件
|
||||
//var eventData = JsonSerializer.Serialize(domainEvent);
|
||||
|
||||
//var storedEvent = new StoredEvent
|
||||
//{
|
||||
// EventType = domainEvent.GetType().Name,
|
||||
// EventData = eventData
|
||||
//};
|
||||
|
||||
//领域事件
|
||||
eventData.Context.AddDomainEvents();
|
||||
|
|
|
@ -13,6 +13,7 @@ namespace IRaCIS.Core.Infra.EFCore.Interceptor
|
|||
// IMediator 适用于单进程内的消息传递,不涉及外部消息中间件(如 RabbitMQ、Azure Service Bus 等) 使用本地的内存队列,而不是跨进程消息传递,适合轻量级、无中间件的场景
|
||||
// 发件箱模式参考: https://dev.to/antonmartyniuk/use-masstransit-to-implement-outbox-pattern-with-ef-core-and-mongodb-oep#:~:text=MongoDB%20replica%20set%20is%20required%20for%20both%20publisher%20and%20consumer
|
||||
// 1、IPublishEndpoint 才会将事件存储到发件箱表中, 高级IBus接口时 - 消息不会存储在发件箱中,必须有savechanges 才会一起提交保存到数据库中
|
||||
// 2、进入消息代理之前,发布事件在OutboxState OutboxMessage, 进入消费者以后(已经删除OutboxState OutboxMessage),消费失败,需要修改代码重新发布,然后之前消费事件的重新处理,错误处理参考:https://www.youtube.com/watch?v=3TMKUu7c4lc
|
||||
public class DispatchDomainEventsInterceptor(IMediator _mediator) : SaveChangesInterceptor
|
||||
{
|
||||
|
||||
|
|
Loading…
Reference in New Issue