.NET 开发中 HttpClient 的坑与最佳实践
💡
原文中文,约2500字,阅读约需6分钟。
📝
内容提要
在.NET开发中,HttpClient是调用外部API的重要工具。常见问题包括频繁创建导致端口耗尽、全局Header污染、未释放HttpResponseMessage、超时未设置、DNS缓存问题、大文件请求内存爆炸及缺少重试机制。最佳实践包括复用HttpClient、请求级别设置Header、使用using释放资源、合理设置超时、手动管理DNS缓存、流式处理大文件及添加重试策略。
🎯
关键要点
- HttpClient是.NET开发中调用外部API的重要工具。
- 频繁创建HttpClient会导致端口耗尽,最佳实践是复用HttpClient。
- 全局Header设置可能导致后续请求出现问题,建议在请求级别设置Header。
- 未释放HttpResponseMessage会导致连接长时间占用,使用using语法确保释放。
- HttpClient默认超时时间为100秒,建议设置合理的超时时间。
- DNS缓存问题可能导致请求旧的IP,需手动管理连接生命周期。
- 大文件请求使用ReadAsStringAsync可能导致内存爆炸,建议采用流式处理。
- 缺少重试机制会影响服务稳定性,建议结合Polly添加重试策略。
➡️