Class Metadata (2.48.0)

public sealed class Metadata : IList<Metadata.Entry>

A collection of metadata entries that can be exchanged during a call. gRPC supports these types of metadata:

  • Request headersare sent by the client at the beginning of a remote call before any request messages are sent.
  • Response headersare sent by the server at the beginning of a remote call handler before any response messages are sent.
  • Response trailersare sent by the server at the end of a remote call along with resulting call status.

Inheritance

Object > Metadata

Namespace

Grpc.Core

Assembly

Grpc.Core.Api.dll

Constructors

Metadata()

public Metadata()

Initializes a new instance of Metadata.

Fields

BinaryHeaderSuffix

public const string BinaryHeaderSuffix = null

All binary headers should have this suffix.

Field Value
Type Description
String

Empty

public static readonly Metadata Empty

An read-only instance of metadata containing no entries.

Field Value
Type Description
Metadata

Properties

Count

public int Count { get; }
IList`1
Property Value
Type Description
Int32

IsReadOnly

public bool IsReadOnly { get; }
IList`1
Property Value
Type Description
Boolean

Item[Int32]

public Metadata.Entry this[int index] { get; set; }
IList`1
Parameter
Name Description
index Int32
Property Value
Type Description
Metadata.Entry

Methods

Add(Metadata.Entry)

public void Add(Metadata.Entry item)
IList`1
Parameter
Name Description
item Metadata.Entry

Add(String, Byte[])

public void Add(string key, byte[] valueBytes)

Adds a new binary-valued metadata entry. See Metadata.Entry constructor for params.

Parameters
Name Description
key String
valueBytes Byte[]

Add(String, String)

public void Add(string key, string value)

Adds a new ASCII-valued metadata entry. See Metadata.Entry constructor for params.

Parameters
Name Description
key String
value String

Clear()

public void Clear()
IList`1

Contains(Metadata.Entry)

public bool Contains(Metadata.Entry item)
IList`1
Parameter
Name Description
item Metadata.Entry
Returns
Type Description
Boolean

CopyTo(Metadata.Entry[], Int32)

public void CopyTo(Metadata.Entry[] array, int arrayIndex)
IList`1
Parameters
Name Description
array Metadata.Entry[]
arrayIndex Int32

Get(String)

public Metadata.Entry Get(string key)

Gets the last metadata entry with the specified key. If there are no matching entries then null is returned.

Parameter
Name Description
key String
Returns
Type Description
Metadata.Entry

GetAll(String)

public IEnumerable<Metadata.Entry> GetAll(string key)

Gets all metadata entries with the specified key.

Parameter
Name Description
key String
Returns
Type Description
IEnumerable<Metadata.Entry>

GetEnumerator()

public IEnumerator<Metadata.Entry> GetEnumerator()
IList`1
Returns
Type Description
IEnumerator<Metadata.Entry>

GetValue(String)

public string? GetValue(string key)

Gets the string value of the last metadata entry with the specified key. If the metadata entry is binary then an exception is thrown. If there are no matching entries then null is returned.

Parameter
Name Description
key String
Returns
Type Description
Nullable<String>

GetValueBytes(String)

public byte[] GetValueBytes(string key)

Gets the bytes value of the last metadata entry with the specified key. If the metadata entry is not binary the string value will be returned as ASCII encoded bytes. If there are no matching entries then null is returned.

Parameter
Name Description
key String
Returns
Type Description
Byte[]

IndexOf(Metadata.Entry)

public int IndexOf(Metadata.Entry item)
IList`1
Parameter
Name Description
item Metadata.Entry
Returns
Type Description
Int32

Insert(Int32, Metadata.Entry)

public void Insert(int index, Metadata.Entry item)
IList`1
Parameters
Name Description
index Int32
item Metadata.Entry

Remove(Metadata.Entry)

public bool Remove(Metadata.Entry item)
IList`1
Parameter
Name Description
item Metadata.Entry
Returns
Type Description
Boolean

RemoveAt(Int32)

public void RemoveAt(int index)
IList`1
Parameter
Name Description
index Int32