Class ServerCallContext

public abstract class ServerCallContext : object

Context for a server-side call.

Inheritance

Object > ServerCallContext

Namespace

Grpc.Core

Assembly

Grpc.Core.Api.dll

Constructors

ServerCallContext()

protected ServerCallContext()

Creates a new instance of ServerCallContext.

Properties

AuthContext

public AuthContext AuthContext { get; }

Gets the AuthContext associated with this call. Note: Access to AuthContext is an experimental API that can change without any prior notice.

Property Value
TypeDescription
AuthContext

AuthContextCore

protected abstract AuthContext AuthContextCore { get; }

Provides implementation of a non-virtual public member.

Property Value
TypeDescription
AuthContext

CancellationToken

public CancellationToken CancellationToken { get; }

Cancellation token signals when call is cancelled. It is also triggered when the deadline is exceeeded or there was some other error (e.g. network problem).

Property Value
TypeDescription
CancellationToken

CancellationTokenCore

protected abstract CancellationToken CancellationTokenCore { get; }

Provides implementation of a non-virtual public member.

Property Value
TypeDescription
CancellationToken

Deadline

public DateTime Deadline { get; }

Deadline for this RPC. The call will be automatically cancelled once the deadline is exceeded.

Property Value
TypeDescription
DateTime

DeadlineCore

protected abstract DateTime DeadlineCore { get; }

Provides implementation of a non-virtual public member.

Property Value
TypeDescription
DateTime

Host

public string Host { get; }

Name of host called in this RPC.

Property Value
TypeDescription
String

HostCore

protected abstract string HostCore { get; }

Provides implementation of a non-virtual public member.

Property Value
TypeDescription
String

Method

public string Method { get; }

Name of method called in this RPC.

Property Value
TypeDescription
String

MethodCore

protected abstract string MethodCore { get; }

Provides implementation of a non-virtual public member.

Property Value
TypeDescription
String

Peer

public string Peer { get; }

Address of the remote endpoint in URI format.

Property Value
TypeDescription
String

PeerCore

protected abstract string PeerCore { get; }

Provides implementation of a non-virtual public member.

Property Value
TypeDescription
String

RequestHeaders

public Metadata RequestHeaders { get; }

Initial metadata sent by client.

Property Value
TypeDescription
Metadata

RequestHeadersCore

protected abstract Metadata RequestHeadersCore { get; }

Provides implementation of a non-virtual public member.

Property Value
TypeDescription
Metadata

ResponseTrailers

public Metadata ResponseTrailers { get; }

Trailers to send back to client after RPC finishes.

Property Value
TypeDescription
Metadata

ResponseTrailersCore

protected abstract Metadata ResponseTrailersCore { get; }

Provides implementation of a non-virtual public member.

Property Value
TypeDescription
Metadata

Status

public Status Status { get; set; }

Status to send back to client after RPC finishes.

Property Value
TypeDescription
Status

StatusCore

protected abstract Status StatusCore { get; set; }

Provides implementation of a non-virtual public member.

Property Value
TypeDescription
Status

UserState

public IDictionary<object, object> UserState { get; }

Gets a dictionary that can be used by the various interceptors and handlers of this call to store arbitrary state.

Property Value
TypeDescription
IDictionary<Object, Object>

UserStateCore

protected virtual IDictionary<object, object> UserStateCore { get; }

Provides implementation of a non-virtual public member.

Property Value
TypeDescription
IDictionary<Object, Object>

WriteOptions

public WriteOptions WriteOptions { get; set; }

Allows setting write options for the following write. For streaming response calls, this property is also exposed as on IServerStreamWriter for convenience. Both properties are backed by the same underlying value.

Property Value
TypeDescription
WriteOptions

WriteOptionsCore

protected abstract WriteOptions WriteOptionsCore { get; set; }

Provides implementation of a non-virtual public member.

Property Value
TypeDescription
WriteOptions

Methods

CreatePropagationToken(ContextPropagationOptions)

public ContextPropagationToken CreatePropagationToken(ContextPropagationOptions options = null)

Creates a propagation token to be used to propagate call context to a child call.

Parameter
TypeNameDescription
ContextPropagationOptionsoptions
Returns
TypeDescription
ContextPropagationToken

CreatePropagationTokenCore(ContextPropagationOptions)

protected abstract ContextPropagationToken CreatePropagationTokenCore(ContextPropagationOptions options)

Provides implementation of a non-virtual public member.

Parameter
TypeNameDescription
ContextPropagationOptionsoptions
Returns
TypeDescription
ContextPropagationToken

WriteResponseHeadersAsync(Metadata)

public Task WriteResponseHeadersAsync(Metadata responseHeaders)

Asynchronously sends response headers for the current call to the client. This method may only be invoked once for each call and needs to be invoked before any response messages are written. Writing the first response message implicitly sends empty response headers if WriteResponseHeadersAsync haven't been called yet.

Parameter
TypeNameDescription
MetadataresponseHeaders

The response headers to send.

Returns
TypeDescription
Task

The task that finished once response headers have been written.

WriteResponseHeadersAsyncCore(Metadata)

protected abstract Task WriteResponseHeadersAsyncCore(Metadata responseHeaders)

Provides implementation of a non-virtual public member.

Parameter
TypeNameDescription
MetadataresponseHeaders
Returns
TypeDescription
Task