大家好,
环境: ASP.net 2.0,Nhibernate 3.3,Json.net(最新版本6.x)
我正在使用最新版本的Newtonsoft.Json库。当我使用nhibernate加载实体时(我的实体引用其他实体并且是按需加载的),我会收到内存不足异常或堆栈溢出异常。
OutOfMemory异常代码:
JsonSerializerSettings settings = new JsonSerializerSettings();
settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
settings.PreserveReferencesHandling = PreserveReferencesHandling.Objects;
string json = JsonConvert.SerializeObject(container.DataItem, settings);
堆栈溢出异常的代码:
JsonSerializerSettings settings = new JsonSerializerSettings();
settings.ReferenceLoopHandling = ReferenceLoopHandling.Serialize;
settings.PreserveReferencesHandling = PreserveReferencesHandling.Objects;
string json = JsonConvert.SerializeObject(container.DataItem, settings);
许多人都遇到这些问题,但似乎没有解决方案。我看到有人回复说你的图太大或太深,但我的对象图很小-我只是调用上面的代码很多次(每个对象一次)。我需要一个解决方法。