【问题标题】:How to perform header propagation between Http to gRPC in Asp.Net Core如何在 Asp.Net Core 中执行 Http 到 gRPC 之间的标头传播
【发布时间】:2020-03-04 22:20:00
【问题描述】:

我在 ASP.Net Core WebAPI 中构建了许多微服务,每个微服务都支持所有 API 方法的 REST HTTP 和 gRPC 服务。

我需要在 HTTP Restful API 调用和对另一个 ASP.Net Core WebAPI 服务进行的从内部调用的 gRPC 调用之间传播一些标头,以便可以在第二个服务中使用标头。

我还需要能够在 gRPC 方法服务 A 和 gRPC 方法服务 B 之间传播标头。

使用 Microsoft.AspNetCore.HeaderPropagation,我们能够创建不存在的标头并将标头传播到下游 HttpClient 调用,但对于 gRPC 方法调用似乎无法做到这一点。

任何帮助将不胜感激。

【问题讨论】:

    标签: asp.net-core http-headers grpc


    【解决方案1】:

    强类型 gRPC 客户端在内部使用 HttpClient。 你可以使用类似的东西:

    var channel = GrpcChannel.ForAddress("<GrpcServerEndpoint>", new GrpcChannelOptions
    {
        HttpClient = new HttpClient();
    });
    
    httpClient.DefaultRequestHeaders.Add("<headerToPropagate>", "<valueFromRequestHeader>");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-17
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 2021-07-16
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多