问题标签 [httpclientfactory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - GetDiscoveryDocumentAsync 失败,IdentityServer4 客户端
我有一个帮助类来从 IdentityServer4 获取访问令牌。这是代码:
上面代码的目的是获取用户资源密码流的访问令牌。最近,有人从
至
通过此更改,我们偶尔会遇到一些错误。代码功能在生产服务器中。每小时可能有数千个 api 调用。这是错误消息:
GetUserTokenResponseAsync: GetDiscoveryDocumentAsync failed
有人可以解释这个简单的变化引起的问题是什么吗?
xamarin.forms - AddRefitClient DryIoc 和 IServiceProvider 在 Prism 上用于 Xamarin.Forms
我正在尝试在 Xamarin.Forms (DryIoc.Microsoft.DependencyInjection) 上关注 Prism 上的 DryIoc 和 IServiceProvider但是我正在使用 RefitClientIHttpClientFactory
我已经添加了
protected override IContainerExtension CreateContainerExtension() => PrismContainerExtension.Current;
当我尝试向 IMyApi 提出请求时。
c# - .Net Core HttpClientFactory 用于多种 API 服务
我有一个 .Net Core 项目需要连接到大约 4 个不同的 API 服务,我不是任何 HttpClient 代码的专家,但据我发现,您通常只想重用一个实例你的 HttpClient 的。据我所知,普遍的共识是在.Net Core 中使用 HttpClientFactory,方法是在 Startup 类中注册它,然后使用 DI 请求它。
现在,除了 BaseAddress url 之外,我的大多数默认标头等通常都相同,当连接到 4 个 diff API 服务时,我应该如何处理?我应该注册 4 个不同的命名客户端还是让一个客户端预先设置所有默认信息,然后根据需要手动配置它,例如配置地址?
一般问题是因为我对此很陌生,据说可以重复使用 HttpClient 的一个实例。
- 如果我为每个 API 服务创建 4 个不同的命名客户端,当我调用 .CreateClient() 方法时,这不会创建 4 个 HttpClient 实例吗?
- .CreateClient() 每次调用时都会创建一个新实例,如果说我需要对一个 API 服务进行 3 次不同调用,这是否会破坏拥有一个 HttpClient 实例的目的,每个调用都会调用 . CreateClient() 建立某种连接,这将创建 3 个 HttpClient 实例?
任何帮助澄清将不胜感激,
谢谢!
asp.net-core - 在具有 .net core 3.1 和 .net framework 4.7.2 的项目中使用 httpclientfactory
我将旧的 CMS 从 WebForms .Fet 框架升级到 .net 核心。我从实现 httpclientfactory 的前端开始。
在我升级后端之前,我想在 .net 核心和 .net 框架解决方案上使用相同的数据层,但我很困惑如何在我的 WebForms 解决方案中实现它
在可以从 webforms 和 .net 核心访问的 API 帮助程序类中,我实现了以下内容:
获取数据的功能是:
在 .net 核心解决方案上,我初始化 HttpClientFactory,如下所示:
在 net core 解决方案 og 中初始化 IHttpClientFactory
我得到的数据如下:
我在我的 WebForms 应用程序中完成了以下操作:
已安装
将以下内容添加到 global.asax
问题是,如何将 httpclientfactoryclient 注入到我的 WebForms 应用程序中,以便可以像在 .net 核心解决方案中一样使用 _webSite.GetSingle(1)
c# - CS1929“IHttpClientFactory”不包含“GetFromJsonAsync”的定义
我在 Blazor Server 项目的 Razor 组件页面 Index.razor 上收到消息“CS1929 - 'IHttpClientFactory' 不包含 'GetFromJsonAsync' 的定义”。我正在尝试发出 http 请求以将组件连接到数据库。
下面是 index.razor 中的代码:
我在 Startup.csservices.AddHttpClient();
下添加了这一行public void ConfigureServices(IServiceCollection services)
错误在字httpClientFactory
行async Task LoadPeople() => people = await httpClientFactory.GetFromJsonAsync<Person[]>
我什至尝试将其替换为以下内容,但这只会导致更多错误,因此我将其删除:
解决此问题的最佳方法是什么?每次在尝试连接 http 时设法修复旧问题时,我都会遇到新问题。
c# - 类型化 HttpClient 与 IHttpClientFactory
下面2个设置HttpClient的场景有什么区别吗?
我应该更喜欢一个吗?
打字客户端:
IHttpClientFactory:
timeout - 开始处理 HTTP 请求 POST 后 ASP.NET Core 3.1 错误超时
我在 HttpClientFactory 的“开始处理 HTTP 请求 POST”之后出现超时异常,该消息何时准确发生,是在调用服务器之前还是之后?
c# - 如何在 Typed HttpClient 示例中实现 IHttpFactoryClient?
在我看到的每个示例中,包括 Microsoft 的here和hereIHttpClientFactory
,作者都解释了over所做的改进,HttpClient
并举例说明了如何简单地开箱即用或以命名形式使用它。但是他们似乎都提到,使用 Typed 表单确实最适合它的结构、可用性等。这些原因对我们的用例有意义。
IHttpClientFactory
尽管与上面提供的链接一样,在创建类型HttpClient
(或作为客户端的服务)的过程中,没有任何一行代码实例化、注入或使用。您创建类型化客户端:
然后在某个模型或控制器中使用它:
我非常困惑。我的团队最初在尝试模拟(使用 Moq)Typed 客户端进行单元测试时遇到了障碍,我们在获得了许多重要资源后得出的结论是,使用IHttpClientFactory
. 但我还没有找到一个明确使用IHttpClientFactory
Typed 客户端的示例。
c# - 为什么我用 DelegatingHandler 丢失了我的 DefaultRequestHeaders?
我有一个DefaultRequestHeaders
在配置级别添加的命名客户端,如下所示:
添加到客户端的是一个DelegatingHandler
. 当我逐步完成 ValidateHeaderHandler 中的覆盖时,它继承自 DelegatingHandler:
仅在第一次尝试时,标头才会包含“授权”base.SendAsync()
。执行之后,如果 Polly 的重试策略被触发,ValidateHeaderHandler 的覆盖SendAsync
将再次执行 - 正如预期的那样 - 但所有标头信息都完全消失了。