El problema aquí es solicitud-respuesta.
Funciona así:
- MT coloca la identificación de la solicitud en la propiedad de estado de la saga
UrlRequestId
- La solicitud se envía
- Recibe una respuesta, la respuesta contiene la dirección del solicitante y la identificación de la solicitud en su encabezado
- MT usa el repositorio de saga para buscar su instancia usando
repo.Find(x => x.UrlRequestId == message.Headers.RequestId)
(por lo tanto, este no es el código real, pero esto es lo que sucede) - Redis (o cualquier otro KVS) no admite consultas, por lo que tampoco admitimos consultas en los repositorios de saga y obtendrá la excepción "no implementada"
Su especificación de correlación para las respuestas no tiene efecto desde Request
siempre usa encabezados para encontrar una instancia de saga a la que pertenece la respuesta.
Puede solucionar esto si no usa la solicitud-respuesta y, en su lugar, emite un evento usando context.Publish(new LinkCreatedEvent { ... , CorrelationId = context.Message.CorrelationId })
y utilizando la correlación habitual.