You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否应在应用生命周期内保留BlobServiceClient与BlobContainerClient?

BlobServiceClient 与 BlobContainerClient 的实例化策略
  • 核心结论:这两个客户端是轻量级、线程安全的,和DbContext(有状态、不适合单例)不同,既可以按需实例化,更推荐在应用生命周期内复用单例实例。
  • 构建成本分析:它们的初始化主要是加载配置、绑定底层HTTP连接池,虽然构建耗时不算极高,但频繁创建会重复消耗连接资源、增加配置解析开销。底层依赖的HttpClient本身就推荐复用,避免频繁创建导致的端口耗尽问题,所以复用这两个客户端实例能提升整体性能。
  • Azure应用服务场景适配:针对Azure应用服务每月迁移重启的情况,单例实例会在应用重启时重新创建,完全符合平台特性。在整个应用生命周期内保留单例,既能避免重复初始化的开销,也不会因为平台迁移出现问题。
  • 特殊场景处理:如果是短生命周期的应用(比如Azure Functions单执行实例),按需创建也可行,但长期运行的Web应用,通过依赖注入注册为单例(比如ASP.NET Core中用services.AddSingleton<BlobServiceClient>())是最优实践。

内容的提问来源于stack exchange,提问作者David Thielen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 02:10:54