2016-01-12 12 views
9

Quando si tenta di serializzare alcuni oggetti di dominio utilizzando ASP.NET Core Newsoft JSON.NET, viene generata un'eccezione perché rileva un loop di riferimento automatico.Rilevato loop di auto riferimento in ASP.NET Core

In ASP.NET 4 abbiamo usato per risolvere il problema a livello globale in questo modo: JSON.NET Error Self referencing loop detected for type

Come possiamo risolvere questo problema in ASP.NET core?

+0

Guarda [risposta] (http://stackoverflow.com/a/34421722/315.935). Dovrebbe risolvere il tuo problema. – Oleg

risposta

35

Non c'è differenza nel modo in cui i loop di autoriferimento sono gestiti in ASP.NET 4 rispetto a ASP.NET Core (precedentemente Asp.Net 5). Valgono ancora i principi esposti nella domanda a cui fai riferimento nel tuo post. Tuttavia, l'impostazione di questa proprietà in ASP.NET Core è, ovviamente, un po 'diverso, dato il nuovo metodo di configurazione e bootstrapping l'applicazione:

+0

per essere chiari, solo la riga "ReferenceLoopHandling" è necessaria per risolvere questo problema. – Daniel

+0

Prima di trovare questa soluzione, ho provato a utilizzare quell'impostazione sulla proprietà che stava causando problemi, come un attributo '[JsonProperty (ReferenceLoopHandling = ReferenceLoopHandling.Ignore)]' ma non ha avuto effetto. Qualcuno può spiegare perché questa soluzione non ha funzionato in primo luogo? – r1verside

+0

HI .. non funziona nemmeno per me .. Ho solo dovuto aggiungere "[JsonObject (IsReference = true)]" come intestazione sulla classe che mi ha dato errore e funziona bene. – Diego