【问题标题】:Using Flurl in web service to handle calls to an outside service在 Web 服务中使用 Flurl 处理对外部服务的调用
【发布时间】:2020-02-13 21:37:31
【问题描述】:

我想向您介绍一个情况,以了解您对使用 Flurl 的看法;如果我开发了一个旨在支持来自多个用户的身份验证和会话的 RESTful api,并且您的 RESTful 服务操作的一部分是它需要对另一个外部服务进行经过身份验证的调用。如果我使用来自字符串 URL 的 call asyn 的标准 flurl 实现,并且如果我需要根据对我的服务进行身份验证的用户设置不同的标头,这是否会由于它使用单个 httpclient(因为它们都在调用)而导致不可预测的行为同一主机)。

【问题讨论】:

    标签: flurl


    【解决方案1】:

    按照您描述的方式进行操作是完全安全的。从 URL 字符串或Url 对象流畅地设置标头会将它们应用于请求,而不是客户端。示例:

    await url.WithHeader(name, value).PostAsync(body);
    

    此调用可以从具有不同标头值的不同线程和单个共享 HttpClient 实例进行无数次,而不会发生冲突。这是可行的,因为它在后台设置了 HttpRequestMessage 上的标头,而不是 HttpClient 上的默认标头。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      • 1970-01-01
      • 2013-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      相关资源
      最近更新 更多