Serializzare l'entità nhibernate all'errore JSON: non può serializzare una sessione mentre è connessa
-
27-10-2019 - |
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?
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