Grpc.Net.Client中两种CallOptions构造方式是否存在行为差异?
Grpc.Net.Client 2.56.0中两种CallOptions实例的行为差异
你假设这两个CallOptions实例行为一致的判断是正确的,二者在实际Grpc调用中的表现没有差异。
具体原因:
new CallOptions()使用默认构造函数,其中Headers参数的默认值为null。new CallOptions(headers: new Metadata())显式传入了一个空的Metadata实例。
Grpc的调用逻辑在处理CallOptions时,无论是Headers为null还是空的Metadata实例,最终都不会向请求中添加任何自定义头信息,二者的实际效果完全相同。
另外需要注意,CallOptions是不可变类型,实例创建后无法修改其属性,因此后续也不会出现因初始值不同导致的行为偏差。
内容的提问来源于stack exchange,提问作者cc1960
相关产品推荐
相关产品推荐

