CallOptions C# 的 gRPC 构造函数

问题描述 投票:0回答:1

以下两个callOptions有什么行为差异吗?

var callOptions1 = new CallOptions(标头: new Metadata());

var callOptions2 = new CallOptions();

我正在使用“Grpc.Net.Client”版本=“2.56.0”

我认为行为是相同的。我说得对吗?

c# grpc
1个回答
0
投票

此处的功能差异是选项的

null
值的
null
与非
.Headers
值;这两者都是有效的,但使用
new Metadata()
意味着 small 额外分配;这是否重要取决于具体情况。如果您明确表示要表达非
null
但空的标题集:还有
Metadata.Empty
,所以第三个选项是:

var callOptions3 = new CallOptions(headers: Metadata.Empty);

对于所有三个选项:不发送标头。

© www.soinside.com 2019 - 2024. All rights reserved.