【发布时间】:2016-08-20 01:57:57
【问题描述】:
我正在使用的这个项目曾经在每个 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
【问题讨论】:
-
您能否编辑您的问题以包含一个 Minimal, Complete, and Verifiable Example 来演示该问题?这会让别人更容易帮助你。
标签: c# json entity-framework serialization json.net