Nou, ik heb veel problemen ondervonden toen ik dit antwoord probeerde te krijgen.
Allereerst heeft het MongoDB C#-stuurprogramma enkele problemen bij het deserialiseren van interfaces , zoals gezegd door Craig Wilson in deze vraagcommentaren, en zoals beschreven in de probleempagina .
De veilige implementatie voor dit probleem, zoals ik al eerder zei, kan in werkelijkheid een aangepaste BSON-serializer of een specifieke klassenkaart zijn, met behulp van BsonClassMap.RegisterClassMap
.
Dus ik heb de klassenkaart geïmplementeerd en het probleem bleef bestaan.
Vooruitkijkend met het probleem, heb ik gevonden die uitzondering is gerelateerd aan een ander probleem van het stuurprogramma:het probleem bij het deserialiseren van structs
.
Ik heb het project teruggedraaid naar de oorspronkelijke staat (zonder klassenkaart of aangepaste serializers) en het structtype gewijzigd in klassetype, en het werkte .
In de samenvatting houdt deze uitzonderingsfout verband met de deserialisatie van structuren, niet met deserialisatie van interfaces.
Hoe dan ook, het is een echt probleem, en het tweede probleem moet meer als een bug dan als een verbetering worden beschouwd, zoals het eerste probleem is.
U kunt de problemen vinden via deze links: