【发布时间】:2019-12-31 09:02:45
【问题描述】:
我正在尝试处理 Saga 实例中的特定 Fault,如 https://masstransit-project.com/MassTransit/usage/exceptions.html#faults 中所述。
在 myStateMachine 课程中,我有:
Event(
() => OnError,
x => x
.CorrelateById(context => context.Message.Message.CorrelationId))
DuringAny(WhenError());
...
public Event<CustomCommand> CustomCommandReceived { get; protected set; }
public Event<Fault<CustomCommand>> OnError { get; protected set; }
...
private EventActivityBinder<RequestSaga, Fault<CustomCommand>> WhenError()
{
return When(OnError)
.Then(context =>
{
context.Instance.Status = RequestProcessingStatus.Error;
});
}
但是当Fault<CustomCommand> 发生时,处理程序内的代码没有执行,Fault<CustomCommand> 消息进入..._skipped 队列。
我做错了什么??
【问题讨论】:
标签: c# asp.net-core masstransit saga