.NET 性能最佳做法:使用同步数据处理API

使用仅支持同步读取和写入的序列化程序/反序列化程序(例如 Json.NET)时:

  • 先将数据异步缓冲到内存中,然后再将数据传递到序列化程序/反序列化程序。.

如果请求较大,则可能会导致内存不足 (OOM) 状况。OOM 可能会导致拒绝服务。 有关详细信息,请参阅本文档中的避免将大型请求正文或响应正文读取到内存中。

ASP.NET Core 3.0 默认使用 System.Text.Json 进行 JSON 序列化。 System.Text.Json:

  • 以异步方式读取和写入 JSON。

  • 针对 UTF-8 文本进行了优化。

  • 通常比 Newtonsoft.Json 性能更高。