Nun, ich bin auf viele Probleme gestoßen, als ich versuchte, diese Antwort zu bekommen.
Zunächst einmal hat der MongoDB C#-Treiber einige Probleme beim Deserialisieren von Schnittstellen , wie von Craig Wilson in diesen Fragekommentaren gesagt, und wie auf der Problemseite .
Die sichere Implementierung für dieses Problem kann, wie ich bereits sagte, wirklich ein benutzerdefinierter BSON-Serializer oder eine bestimmte Klassenzuordnung sein, die BsonClassMap.RegisterClassMap
verwendet .
Also habe ich die Klassenzuordnung implementiert und das Problem blieb bestehen.
Mit Blick auf das Problem habe ich festgestellt, dass diese Ausnahme mit einem anderen Problem des Treibers zusammenhängt:dem Problem beim Deserialisieren von structs
.
Ich habe das Projekt auf den Anfangszustand zurückgesetzt (ohne Klassenzuordnung oder benutzerdefinierte Serialisierer) und den Strukturtyp in Klassentyp geändert, und es hat funktioniert .
Zusammengefasst bezieht sich dieser Ausnahmefehler auf die Deserialisierung von Strukturen, nicht auf die Deserialisierung von Schnittstellen.
Wie auch immer, es ist ein echtes Problem, und das zweite Problem muss eher als Fehler denn als Verbesserung betrachtet werden, so wie das erste Problem.
Sie finden die Probleme unter diesen Links: