Bueno, he encontrado muchos problemas al tratar de obtener esta respuesta.
En primer lugar, el controlador MongoDB C# tiene algunos problemas al deserializar las interfaces. , como dijo Craig Wilson en los comentarios de esta pregunta, y como se describe en la página del problema .
La implementación segura para este problema, como dije antes, realmente puede ser un serializador BSON personalizado o un mapa de clase específico, usando BsonClassMap.RegisterClassMap
.
Entonces, implementé el mapa de clases y el problema persistió.
Mirando hacia adelante con el problema, encontré que la excepción está relacionada con otro problema del controlador:el problema al deserializar structs
.
Regresé el proyecto al estado inicial (sin mapa de clases ni serializadores personalizados) y cambié el tipo de estructura a tipo de clase, y funcionó .
En resumen, este error de excepción está relacionado con la deserialización de estructuras, no con la deserialización de interfaces.
De todos modos, es un problema real, y el segundo problema debe considerarse más un error que una mejora, como lo es el primer problema.
Puede encontrar los problemas en estos enlaces: