以下两个callOptions有什么行为差异吗?
var callOptions1 = new CallOptions(标头: new Metadata());
var callOptions2 = new CallOptions();
我正在使用“Grpc.Net.Client”版本=“2.56.0”
我认为行为是相同的。我说得对吗?
此处的功能差异是选项的
null
值的null
与非.Headers
值;这两者都是有效的,但使用 new Metadata()
意味着 small 额外分配;这是否重要取决于具体情况。如果您明确表示要表达非null
但空的标题集:还有Metadata.Empty
,所以第三个选项是:
var callOptions3 = new CallOptions(headers: Metadata.Empty);
对于所有三个选项:不发送标头。