Cómo garantizar el procesamiento idempotente de mensajes con EF Core 11 cuando dos instancias de la app consumen el mismo mensaje
La comprobación de existencia en tu handler no es la protección que crees. Pon un índice único en la tabla inbox, escribe el marcador en el mismo SaveChanges que el cambio de negocio, y deja que la base de datos elija al ganador. Más la trampa de ExecuteUpdate que deshace todo en silencio.