Het probleem hier is verzoek-antwoord.
Het werkt als volgt:
- MT plaatst het verzoek-ID in de saga-statuseigenschap
UrlRequestId
- Het verzoek is verzonden
- Je krijgt een reactie terug, de reactie bevat het adres van de aanvrager en de aanvraag-ID in de header
- MT gebruikt saga-repository om te vinden uw instantie met behulp van
repo.Find(x => x.UrlRequestId == message.Headers.RequestId)
(vandaar dat dit niet de echte code is, maar dit is wat er gebeurt) - Redis (of een andere KVS) ondersteunt geen zoekopdrachten, dus we ondersteunen ook geen zoekopdrachten in saga-repositories en u krijgt een "niet geïmplementeerde" uitzondering
Uw correlatiespecificatie voor antwoorden heeft geen effect sinds Request
gebruikt altijd headers om een saga-instantie te vinden waartoe het antwoord behoort.
U kunt dit omzeilen door geen request-response te gebruiken en in plaats daarvan een gebeurtenis uit te zenden met context.Publish(new LinkCreatedEvent { ... , CorrelationId = context.Message.CorrelationId })
en met behulp van de gebruikelijke correlatie.