- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
不太清楚创建和处置 KeyVaultClient
对象的最佳做法是什么。
我目前正在通过以下方式实例化 KeyVaultClient
:
var azureServiceTokenProvider = new AzureServiceTokenProvider();
_keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback), httpClient);
我目前正在使用注入(inject)的 IHttpClientFactory
创建 httpClient
。如果我不提供 HttpClient
,KeyVaultClient
实际上会做什么?我假设它正在创建它自己的 HttpClient
实例,但它如何管理该实例?
KeyVaultClient
实现了 IDisposable
。很明显,KeyVaultClient
正在使用一个 HttpClient
实例,我在很多地方都听说在每次之后处理 HttpClient
不是一个好主意用法(比如单个 GET 调用)。这是否意味着我应该避免处理 KeyVaultClient
以及它会处理我提供的 httpClient
实例?
任何对此的澄清都会很好。
最佳答案
如果 HttpClient
是使用默认构造函数创建的,它会负责保存所有资源,并在自己的处理过程中处理它们。当使用来自工厂的 HttpClient
时,它使用一个不同的构造函数来提供它自己的 HttpMessageHandler
(这是将持有套接字的那个)。在这种特定情况下,实现将从工厂中的一个池中获取(仍然持有对它的引用)并且在 HttpClient
上调用 dispose 将在 HttpMessageHandler
上调用 dispose ,但这不会关闭资源,而是将其放回池中以供下一个客户端使用。从而避免打开的套接字溢出。
因此,通过从工厂提供客户端并将其注入(inject)到只有限定生命周期的 KeyVaultClient
中,将负责管理套接字,恕我直言,这是最佳使用方式。相反,将 KeyVaultClient
注册为单例会导致 HttpClientFactory
有助于避免的问题。
关于c# - 在 .NET 中创建和处置 KeyVaultClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60429744/
目前,我在启动期间使用 Azure KeyVault 来加载一些配置,如下所示: configBuilder .AddAzureKeyVault(keyVaultConfigSection.V
我正在使用 Azure 函数执行一个操作,在此操作中我需要从 keystore 获取 secret 。我使用此代码是为了获取 secret var azureServiceTokenProvider
当我调试 ASP.NET MVC 应用程序时,KeyVaultClient 随机抛出异常: Managed Debugging Assistant 'FatalExecutionEngineError
不太清楚创建和处置 KeyVaultClient 对象的最佳做法是什么。 我目前正在通过以下方式实例化 KeyVaultClient: var azureServiceTokenProvider =
我正在尝试调用订阅中的所有保管库。我正在使用的方法是这样的 - Controller var myClient = new Microsoft.Azure.KeyVault.KeyVaultClien
我已经使用以下代码库实现了 Key Vault 访问 token 生成器: private async Task GetStaticToken(string authority, string res
我想运行 Java 代码以在 Windows 服务器中使用代理读取 Azure KeyVault。 我浏览了很多帖子,但可以找到任何可行的解决方案。主要针对 c#,但我想要针对 Java。我的代码在本
在我将 Microsoft.Azure.KeyVault.KeyVaultClient 从版本 2.05 更新到 3.05 后,开始出现此错误。 程序集“Microsoft.Azure.KeyVaul
在我将 Microsoft.Azure.KeyVault.KeyVaultClient 从版本 2.05 更新到 3.05 后,开始出现此错误。 程序集“Microsoft.Azure.KeyVaul
桌面应用程序如何使用 Azure AD 读取 KeyVault secret ? 我能够获取 MSAL token ,但将其交给 KeyVaultClient 始终会导致: Microsoft.Azu
使用 Azure Python SDK,我想使用 get_client_from_auth_file 方法返回 KeyVaultClient,以便从 KeyVault 获取 secret ,而无需通过
使用 Azure Python SDK,我想使用 get_client_from_auth_file 方法返回 KeyVaultClient,以便从 KeyVault 获取 secret ,而无需通过
我想将我在 ASP.NET Core 1.0 上的项目与 Microsoft Azure KeyVault 集成。但似乎 Microsoft.Azure.KeyVault 包与“netcoreapp1
我是一名优秀的程序员,十分优秀!