【发布时间】:2021-10-27 22:33:56
【问题描述】:
我需要进行一系列 HTTP 调用以从第 3 方保管库获取数据库凭据,因为我需要在添加 DBContext 之前在 Program.cs 或最迟在 Startup.cs 中运行此代码,我需要能够在不使用IHttpClientFactory 的情况下进行这些调用,因为这需要已经初始化了依赖注入。
以下代码在运行时调用时可以正常工作,但在 ConfigureAppConfiguration 步骤期间不起作用。
HttpClient client = _clientFactory.CreateClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, $"{_configuration["CredentialsVault:vaultUrl"]}Auth/SignAppIn");
request.Headers.Add("Authorization", $"PS-Auth key={_apiKey}; runas={_runAsUser};");
var response = await client.SendAsync(request);
有没有一种方法可以让我在不依赖依赖注入的情况下进行 HTTP 调用,或者延迟 AddDbContext 直到设置依赖注入之后?
我尝试过像这样创建一个 HttpClient 实例:
HttpClient client = new HttpClient();
但是这似乎不起作用,并且根据this question 它不应该像那样实例化。
【问题讨论】:
标签: c# .net-core httpclientfactory