Serializzare l'entità nhibernate all'errore JSON: non può serializzare una sessione mentre è connessa

StackOverflow https://stackoverflow.com/questions/5851937

Domanda

Sto cercando di serializzare un'entità nhibernata in JSON, ma ricevo sempre questo errore dicendo che non può serializzare una sessione durante il collegamento? Ha qualcosa a che fare con il proxy nhibernate?

È stato utile?

Soluzione

Ho iniziato a ricevere lo stesso errore quando sono passato da System.Web.Script.Serialization.JavaScriptSerializer a Newtonsoft.Json.

Utilizzando il resolver contrattuale da questa risposta Risolto questo problema:

string output = JsonConvert.SerializeObject(theObject,
                new JsonSerializerSettings()
                {
                    ContractResolver = new NHibernateContractResolver()
                });

Altri suggerimenti

Sì, questo è legato al caricamento pigro. Dovrai configurare NHibernate per recuperare con impazienza le associazioni se si desidera essere in grado di serializzarlo. Ma ti consiglierei invece di usare i modelli di visualizzazione. Blogged Ayende Rahien su questo problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top