.NET 7中使用HttpClient的ReadAsStreamAsync处理大压缩文件时的内存问题求助
.NET 7中使用HttpClient的ReadAsStreamAsync处理大压缩文件时的内存问题求助
各位好,我最近开发一个.NET 7服务时碰到了内存相关的困扰,想过来请教下大家有没有靠谱的解决思路。
我的服务部署在Linux环境的Docker容器里,核心流程是:调用外部REST API下载一个体积不小的压缩文件,解压后再上传到Azure Blob存储。
目前我已经在客户端库中完成了自定义HttpClient的注册,代码如下:
services.AddHttpClient<MyHttpClient>() .ConfigurePrimaryHttpMessageHandler(createHttpMessageHandler);
这个MyHttpClient是通过工厂模式被消费端调用的。
现在的问题是,当我用ReadAsStreamAsync处理这个大压缩文件时,内存占用会急剧升高,特别担心在生产环境里会引发内存溢出或者性能瓶颈。想问问大家针对这种大文件流式处理的场景,有没有什么优化方案或者正确的处理姿势呀?
备注:内容来源于stack exchange,提问作者Yuri Makassiouk
相关产品推荐
相关产品推荐

