O problema aqui é solicitação-resposta.
Funciona assim:
- MT coloca o ID da solicitação na propriedade de estado da saga
UrlRequestId
- A solicitação é enviada
- Você recebe uma resposta, a resposta contém o endereço do solicitante e o ID da solicitação em seu cabeçalho
- MT usa repositório saga para encontrar sua instância usando
repo.Find(x => x.UrlRequestId == message.Headers.RequestId)
(portanto, este não é o código real, mas é isso que acontece) - O Redis (ou qualquer outro KVS) não suporta consultas, então também não suportamos consultas em repositórios saga e você obtém a exceção "não implementada"
Sua especificação de correlação para respostas não tem efeito desde
Request
sempre usa cabeçalhos para localizar uma instância de saga à qual a resposta pertence. Você pode contornar isso não usando solicitação-resposta e, em vez disso, emitir um evento usando
context.Publish(new LinkCreatedEvent { ... , CorrelationId = context.Message.CorrelationId })
e usando a correlação usual.