2016-01-12 6 views
9

Wenn ich versuche, einige Domänenobjekte mithilfe von ASP.NET Core Newsoft JSON.NET zu serialisieren, wird eine Ausnahme ausgelöst, da eine selbstreferenzierende Schleife erkannt wird.Selbstreferenzierende Schleife in ASP.NET Core erkannt

In ASP.NET 4 wir haben es weltweit auf diese Weise zu beheben: JSON.NET Error Self referencing loop detected for type

Wie können wir dies in ASP.NET-Core beheben?

+0

Blick auf [Antwort] (http://stackoverflow.com/a/34421722/315935). Es sollte dein Problem lösen. – Oleg

Antwort

35

Es gibt keinen Unterschied in der Art, wie auf sich selbst verweisende Schleifen in ASP.NET 4 im Vergleich zu ASP.NET Core (zuvor Asp.Net 5) behandelt werden. Die Prinzipien, die in der Frage beschrieben sind, auf die Sie in Ihrem Beitrag verwiesen haben, gelten weiterhin. Um jedoch diese Eigenschaft in ASP.NET Kerneinsetzvorgang ist offensichtlich etwas anders, da das neue Verfahren zur automatischen Konfiguration und Bootstrapping der App:

+0

um klar zu sein, ist nur die "ReferenceLoopHandling" Zeile erforderlich, um dieses Problem zu beheben. – Daniel

+0

Bevor ich diese Lösung gefunden habe, habe ich versucht, diese Einstellung für die Eigenschaft zu verwenden, die Probleme verursachte, als ein Attribut '[JsonProperty (ReferenceLoopHandling = ReferenceLoopHandling.Ignore)]', aber es hatte keine Auswirkungen. Kann jemand erklären, warum diese Lösung überhaupt nicht funktioniert hat? – r1verside

+0

HALLO .. es funktioniert nicht für mich auch nicht .. Ich musste nur hinzufügen "[JsonObject (IsReference = true)]" als Header auf der Klasse, die mir einen Fehler gab und funktioniert gut. – Diego