【发布时间】:2022-01-18 16:24:22
【问题描述】:
我一直在阅读 Microsoft 规定的 options pattern,以允许在应用程序启动时将强类型配置设置为 registered,以后可以将其注入需要访问配置值的服务中。
我的应用程序使用 HttpClient 发出 HTTP 请求,当然,我希望将目标 URI 存储在配置中,因为它们会根据环境(dev/test/etc)而改变。
我听说即使 HttpClient 实现了 IDisposable,我们也不应该将它包装在 using (... 语句中,因为它在处理后等待连接超时时可能会泄漏连接。这导致了一个涉及static property 在应用程序的生命周期内保存 HttpClient 的实例,以避免泄漏。
所以现在我一直在弄清楚如何实例化一个静态的、希望是只读的属性,该属性取决于我将在实例构造函数中接收的配置。听起来我需要一把锁之类的东西,但我不确定最安全的结构方式。
【问题讨论】:
标签: .net-core dependency-injection configuration