gpt4 book ai didi

c# - 读取 GRPC header

转载 作者:行者123 更新时间:2023-12-03 08:54:43 24 4
gpt4 key购买 nike

我通过 GRPC 将数据发送到(我们称之为)IntegrationApi,调用方法 Foo。我需要从响应中读取 header 值(我正在通信的 API 发送速率限制 header )。

我正在使用https://www.nuget.org/packages/Grpc.Core/

var metaData = new Metadata();
metadata.Add(new Metadata.Entry("Authorization", $"Bearer {apiKey}"));
var channel = new Channel("url to endpoint", new SslCredentials());
var client = new IntegrationApi(channel);

var callOptions = new CallOptions()
.WithHeaders(metadata)
.WithDeadline(DateTime.UtcNow.AddSeconds(15))
.WithWaitForReady(false);

var response = client.Foo(req, options);

响应仅提供基于Foo.proto文件的属性。

我该怎么做?

最佳答案

您正在使用“Foo”方法的同步版本,并且该方法使用 API 的简化版本(=仅允许访问响应并在发生错误时抛出 RpcExceptions)。

如果您调用同一方法的异步版本(“FooAsync”),您将返回一个可以访问所有调用详细信息(例如响应 header )的调用对象。

https://github.com/grpc/grpc/blob/044a8e29df4c5c2716c7e8250c6b2585e1c425ff/src/csharp/Grpc.Core.Api/AsyncUnaryCall.cs#L73

关于c# - 读取 GRPC header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56344473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com