c# - Aspose.svg 的内存泄漏
问题描述
我在 API 服务中调用以下方法并尝试使用 Aspose.Svg 库来创建 Aspose.svg 文档:
public async Task<PlanGroupCategory> UploadPlanAsync(byte[] byteStream, string mimeType)
{
if (byteStream == null)
throw new Exception("Hinzugefügte Dateien sind leer.");
using (MemoryStream stream = new MemoryStream(byteStream))
{
if (stream == null)
throw new BauDrException("Svg Document ist leer.");
stream.Seek(0, SeekOrigin.Begin);
using (var document = new SVGDocument(stream, "."))
{
(...)
}
}
}
调用using (var document = new SVGDocument(stream, "."))
应用程序后会消耗大量非托管内存。内存从 200 MB 跃升至 +/- 1.3 GB,并且永远不会被释放。重复用例后,内存上升。
从客户端上传的 svg 文件为 2.6 MB。使用 Visual Studio 诊断程序和 JetBrains dotmemory 检查内存泄漏。
调用垃圾收集器后,内存并没有被释放。个人“处置”的呼吁也没有奏效。
有人知道这个问题的任何解决方案吗?
解决方案
推荐阅读
- python - Python 语法错误(无效语法)
- c# - 为什么当我将我的 StreamWriter/StreamReader/NetworkStream 包含在 using 语句中时,我的服务器会崩溃 c#
- javascript - 按钮未在 javascript 中启用
- python - Python 3:我的类函数没有像我想要的那样运行
- windows - 正确使用方法:Vagrant vagrant_vagrantfile synced_folder 到 docker 卷?
- firebase - 如何循环通过 Firebase 数据快照子子项?扑
- node.js - 统计数十万条数据导致Cross-Origin Read Blocking (CORB) 使用nodejs阻止跨域
- python - Keras CNN:将文本作为附加输入添加到 CNN 的图像之外
- python - Python Pandas - 如何提取字符串中左侧的一系列字符
- https - Cypress.io 和 https 错误