C# 用于消息传递和saga持久性的Azure服务总线
我试图将我的传奇故事的状态持续到AzureService总线消息的会话中。只要圣人的状态还在记忆中,它就可以正常工作。但如果我激活Requiresession并使用MessageSessionSagaRepository,我的圣人就什么都不做了C# 用于消息传递和saga持久性的Azure服务总线,c#,masstransit,C#,Masstransit,我试图将我的传奇故事的状态持续到AzureService总线消息的会话中。只要圣人的状态还在记忆中,它就可以正常工作。但如果我激活Requiresession并使用MessageSessionSagaRepository,我的圣人就什么都不做了 services.AddMassTransit(x=> { x、 AddBus(provider=>Bus.Factory.CreateUsingAzureServiceBus(cfg=> { 主机(ConnectionString); ReceiveE
services.AddMassTransit(x=>
{
x、 AddBus(provider=>Bus.Factory.CreateUsingAzureServiceBus(cfg=>
{
主机(ConnectionString);
ReceiveEndpoint(EnrichQueue,e=>
{
//工作
//e、 StateMachineSaga(新的EnrichmentStateMachine(),新的InMemorySagaRepository());
//不起作用
e、 Requiresession=true;
e、 StateMachineSaga(新的EnricmentStateMachine(),MessageSessionSagaRepository.Create());
});
}));
});
我是否遗漏了本应配置的内容?您的配置有点混乱,我建议清理它以使其保持最新并保持一致:
services.AddMassTransit(x=>
{
x、 AddSagaStateMachine()
.MessageSessionRepository();
x、 使用AzuReserveCebus((上下文,cfg)=>
{
主机(ConnectionString);
ReceiveEndpoint(EnrichQueue,e=>
{
e、 Requiresession=true;
e、 配置saga(上下文);
});
}));
});
发送/发布到该端点的消息需要SessionId,即