我正在做一个 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 的引用。