- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 asp.net 核心 MVC 应用程序中,我使用的是 HttpClientFactory
创建 HttpClient
对 API 服务器的请求的对象。
遵循 Microsoft 文档,HttpClient
每次我调用 HttpClientFactory.CreateClient()
时都会创建新的对象,因此将值设置为 HttpClient.DefaultRequestHeaders
是安全的.
关于 HttpMessageHandler
对象,因为它们是池化的,以后可以重用。所以,如果他们持有 cookie 信息(例如:将 cookie 设置为 HttpClientHandler
对象),我们将违反线程安全。
我的假设是否正确?我们如何处理这个问题?
如果我们在HttpRequestMessage
中设置cookie可以吗? ,然后我们会用 HttpClient
发送它?
最佳答案
我找到了使用 HttpClientFactory 的解决方案。我们应该禁用 CookieContainer
初级 HttpMessageHanlder
(这是一个 HttpClientHandler
):
services.AddHttpClient("configured-inner-handler")
.ConfigurePrimaryHttpMessageHandler(() =>
{
return new HttpClientHandler()
{
UseCookies = false
};
});
关于asp.net - 使用 HttpClientFactory 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53881531/
我有一个类型化的客户端,我想将其注册为单例: public class SomeHttpClient { private readonly IHttpClientFactory _client
我需要使用 HttpClientFactory 来连接到外部 api。Startup.cs 中的代码如下所示 public void SetUpHttpClients(IServiceCollecti
HttpClientFactory 提供以下扩展方法: public static IHttpClientBuilder AddHttpClient(this IServiceCollection s
随着新的HttpClientFactory在 ASP.NET Core 2.1 中,使用基本 url、默认 header 等配置自定义 HTTP 客户端非常容易。 但是,我还没有找到一种集中配置的方法
我有 Asp.Net Core WebApi。我正在根据 HttpClientFactory pattern 发出 Http 请求.这是我的示例代码: public void ConfigureSer
我需要在 HttpClientFactory 中添加证书。使用 HttpClient 的旧实现如下所示: var cookieContainer = new CookieContainer(); va
在我的 asp.net 核心 MVC 应用程序中,我使用的是 HttpClientFactory创建 HttpClient对 API 服务器的请求的对象。 遵循 Microsoft 文档,HttpCl
我目前正在配置我的 httpclientfactory这边走 HttpClientHandler httpClientHandler = new HttpClientHandler() { S
在任何地方我都可以看到在 DI 中创建客户端(基本、命名、类型)的三种主要方法,但我找不到注入(inject) IHttpClientFactory 的方法。或 HttpClient (两者都可能)。
我有一个带有简单消费后台服务的控制台程序,它需要从使用 HttpClientFactory 的作用域服务调用函数来调用外部 API 并将结果返回给消费后台服务。 在查看了几个在线示例后,我想要非常简单
我正在用 C# 编写一个应用程序。它从 Cloudant NoSQL DB 中提取数据。 但是当我尝试创建 Http 客户端时: HttpClient client = HttpClientFacto
我有一个带有简单消费后台服务的控制台程序,它需要从使用 HttpClientFactory 的作用域服务调用函数来调用外部 API 并将结果返回给消费后台服务。 在查看了几个在线示例后,我想要非常简单
我很好奇 HttpClientFactory class 的目的是什么? 。 MSDN 上没有说明它为何存在(请参阅链接)。 有Create methods有更专门的参数,但我主要想知道不带参数的调用
我想过用HttpClientFactory,但是调用的时候需要附上证书目前使用的是HttpClient,但是不知道怎么附上证书。 httpClient代码如下: HttpClientHandler h
有人知道在使用 HttpClientFactory 时如何使用客户端证书吗?在我发现的所有示例中,您需要在 HttpClient 构造函数中提供一个 HttpMessageHandler,这在使用 H
我正在尝试将 HttpClientFactory 配置为使用授权 header 。问题是必须从 auth 服务检索 auth token ,这是另一个 HTTP 调用,最好使用 await 来完成。然
AutoRest 生成的客户端没有合适的构造函数来与 services.AddHttpClient() 方法一起使用。那么我们如何解决这个问题呢? 现在我们有了带有这种签名的公共(public)构造函
AutoRest 生成的客户端没有合适的构造函数来与 services.AddHttpClient() 方法一起使用。那么我们如何解决这个问题呢? 现在我们有了带有这种签名的公共(public)构造函
我们可以在这里阅读YOU'RE USING HTTPCLIENT WRONG AND IT IS DESTABILIZING YOUR SOFTWARE我们不应该为每个 http 请求创建和处理 Ht
我有一个 .Net Core 项目需要连接到大约 4 个不同的 API 服务,我不是任何 HttpClient 代码的专家,但据我发现,您通常只想重用一个实例你的 HttpClient 的。据我所知,
我是一名优秀的程序员,十分优秀!