c# - 使用 JToken 时保留的内存
问题描述
我正在做一个 ASP.net 核心 MVC 调用,它有一个可以包含 2 MB 数据的 JSON 主体,应用程序的内存增加了 400 MB 并且不会下降。
网络通话具有以下签名:
public async Task<IActionResult> ReportProblem([FromBody] JToken request).
如果我将上述切换为:
public async Task<IActionResult> ReportProblem([FromBody] String request)
我没有看到内存增加。每次我使用 JToken 参数进行调用时,即使请求正文包含 2MB 的数据,内存也会不断增加几个 100MB。
在 DotMemory 中,我看到很多字符串被使用以及对 LogMessageEntry 的引用。
解决方案
推荐阅读
- java - 如何强制特定的测试类在单独的 jvm 中执行?
- haskell - 安装 zlib 时 ghc.exe 无法执行 ld.exe
- javascript - Javascript - 在一系列跨度之上添加一个新的 DIV
- python - Pynput:计算按键次数
- mongodb - MongoDB 坚持使用“索引构建:耗尽构建期间收到的写入”消息创建索引
- ruby-on-rails - 将 mongomapper 替换为 mongoid 并更新 mongo 驱动程序后无法正确读取集合
- mysql - “BACKUP”在此位置无效
- c++ - 尝试使用带有参数变量的函数时出现 C++ 内存冲突错误
- java - 有没有办法让组合框根据用户选择从枚举中获取唯一信息?
- python - 如何创建不包括某些结果的笛卡尔积?