Ner*_*roS 4 c# serialization json entity-framework json.net
我正在使用的这个项目曾经在每个 Web 请求上为每个存储库方法创建一个新的 DbContext(这意味着每个请求都创建了任意数量的 dbcontexts)。
我已经解决了每个请求只有一个上下文的问题,但是一些序列化会出现问题并出现内存不足异常。查看序列化数据,Json.Net 完全忽略了ReferenceLoopHandling.Ignore循环引用处理的枚举值。请注意,当我将其设置为 时ReferenceLoopHandling.Error,我将立即在自引用对象上收到异常。
启用和禁用代理和延迟加载都会发生这种情况。
用于 JsonSerializer 的完整设置列表:
DateFormatHandling = DateFormatHandling.IsoDateFormat,
DateTimeZoneHandling = DateTimeZoneHandling.Local,
Formatting = Formatting.None,
ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
NullValueHandling = NullValueHandling.Include
尝试设置SerializerSettings.PreserveReferencesHandling为PreserveReferencesHandling.Objects,以便使用引用而不是重新序列化对象来执行对现有对象的引用。