Show / Hide Table of Contents

    Namespace Grpc.Core

    Classes

    AsyncClientStreamingCall<TRequest, TResponse>

    Return type for client streaming calls.

    AsyncDuplexStreamingCall<TRequest, TResponse>

    Return type for bidirectional streaming calls.

    AsyncServerStreamingCall<TResponse>

    Return type for server streaming calls.

    AsyncStreamReaderExtensions

    Extension methods for IAsyncStreamReader<T>.

    AsyncUnaryCall<TResponse>

    Return type for single request - single response call.

    AuthContext

    Authentication context for a call. AuthContext is the only reliable source of truth when it comes to authenticating calls. Using any other call/context properties for authentication purposes is wrong and inherently unsafe. Note: experimental API that can change or be removed without any prior notice.

    AuthInterceptorContext

    Context for an RPC being intercepted by AsyncAuthInterceptor.

    AuthProperty

    A property of an AuthContext. Note: experimental API that can change or be removed without any prior notice.

    BindServiceMethodAttribute

    Specifies the location of the service bind method for a gRPC service. The bind method is typically generated code and is used to register a service's methods with the server on startup.

    The bind method signature takes a ServiceBinderBase and an optional instance of the service base class, e.g. static void BindService(ServiceBinderBase, GreeterService).

    CallCredentials

    Client-side call credentials. Provide authorization with per-call granularity.

    CallCredentialsConfiguratorBase

    Base class for objects that can consume configuration from CallCredentials objects. Note: experimental API that can change or be removed without any prior notice.

    CallInvoker

    Abstraction of client-side RPC invocation.

    Calls

    Helper methods for generated clients to make RPC calls. Most users will use this class only indirectly and will be making calls using client object generated from protocol buffer definition files.

    Channel

    Represents a gRPC channel. Channels are an abstraction of long-lived connections to remote servers. More client objects can reuse the same channel. Creating a channel is an expensive operation compared to invoking a remote call so in general you should reuse a single channel for as many calls as possible.

    ChannelBase

    Base class for gRPC channel. Channels are an abstraction of long-lived connections to remote servers.

    ChannelCredentials

    Client-side channel credentials. Used for creation of a secure channel.

    ChannelCredentialsConfiguratorBase

    Base class for objects that can consume configuration from CallCredentials objects. Note: experimental API that can change or be removed without any prior notice.

    ChannelOption

    Channel option specified when creating a channel. Corresponds to grpc_channel_args from grpc/grpc.h. Commonly used channel option names are defined in ChannelOptions, but any of the GRPC_ARG_* channel options names defined in grpc_types.h can be used.

    ChannelOptions

    Defines names of most commonly used channel options. Other supported options names can be found in grpc_types.h (GRPC_ARG_* definitions)

    ClientBase

    Base class for client-side stubs.

    ClientBase.ClientBaseConfiguration

    Represents configuration of ClientBase. The class itself is visible to subclasses, but contents are marked as internal to make the instances opaque. The verbose name of this class was chosen to make name clash in generated code less likely.

    ClientBase<T>

    Generic base class for client-side stubs.

    ContextPropagationOptions

    Options for ContextPropagationToken.

    ContextPropagationToken

    Token for propagating context of server side handlers to child calls. In situations when a backend is making calls to another backend, it makes sense to propagate properties like deadline and cancellation token of the server call to the child call. Underlying gRPC implementation may provide other "opaque" contexts (like tracing context) that are not explicitly accesible via the public C# API, but this token still allows propagating them.

    DefaultCallInvoker

    Invokes client RPCs using Calls.

    DeserializationContext

    Provides access to the payload being deserialized when deserializing messages.

    GrpcEnvironment

    Encapsulates initialization and shutdown of gRPC library.

    KeyCertificatePair

    Key certificate pair (in PEM encoding).

    Marshaller<T>

    Encapsulates the logic for serializing and deserializing messages.

    Marshallers

    Utilities for creating marshallers.

    Metadata

    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.

    Metadata.Entry

    Metadata entry

    Method<TRequest, TResponse>

    A description of a remote method.

    RpcException

    Thrown when remote procedure call fails. Every RpcException is associated with a resulting Status of the call.

    SerializationContext

    Provides storage for payload when serializing a message.

    Server

    gRPC server. A single server can serve an arbitrary number of services and can listen on more than one port.

    Server.ServerPortCollection

    Collection of server ports.

    Server.ServiceDefinitionCollection

    Collection of service definitions.

    ServerCallContext

    Context for a server-side call.

    ServerCredentials

    Server side credentials.

    ServerPort

    A port exposed by a server.

    ServerServiceDefinition

    Stores mapping of methods to server call handlers. Normally, the ServerServiceDefinition objects will be created by the BindService factory method that is part of the autogenerated code for a protocol buffers service definition.

    ServerServiceDefinition.Builder

    Builder class for ServerServiceDefinition.

    ServiceBinderBase

    Allows binding server-side method implementations in alternative serving stacks. Instances of this class are usually populated by the BindService method that is part of the autogenerated code for a protocol buffers service definition.

    SslCredentials

    Client-side SSL credentials.

    SslServerCredentials

    Server-side SSL credentials.

    VerifyPeerContext

    Verification context for VerifyPeerCallback. Note: experimental API that can change or be removed without any prior notice.

    VersionInfo

    Provides info about current version of gRPC. See https://codingforsmarties.wordpress.com/2016/01/21/how-to-version-assemblies-destined-for-nuget/ for rationale about assembly versioning.

    WriteOptions

    Options for write operations.

    Structs

    CallInvocationDetails<TRequest, TResponse>

    Details about a client-side call to be invoked.

    CallOptions

    Options for calls made by client.

    Status

    Represents RPC result, which consists of StatusCode and an optional detail string.

    Interfaces

    IAsyncStreamReader<T>

    A stream of messages to be read. Messages can be awaited await reader.MoveNext(), that returns true if there is a message available and false if there are no more messages (i.e. the stream has been closed).

    On the client side, the last invocation of MoveNext() either returns false if the call has finished successfully or throws RpcException if call finished with an error. Once the call finishes, subsequent invocations of MoveNext() will continue yielding the same result (returning false or throwing an exception).

    On the server side, MoveNext() does not throw exceptions. In case of a failure, the request stream will appear to be finished (MoveNext will return false) and the CancellationToken associated with the call will be cancelled to signal the failure.

    MoveNext() operations can be cancelled via a cancellation token. Cancelling an individual read operation has the same effect as cancelling the entire call (which will also result in the read operation returning prematurely), but the per-read cancellation tokens passed to MoveNext() only result in cancelling the call if the read operation haven't finished yet.

    IAsyncStreamWriter<T>

    A writable stream of messages.

    IClientStreamWriter<T>

    Client-side writable stream of messages with Close capability.

    IMethod

    A non-generic representation of a remote method.

    IServerStreamWriter<T>

    A writable stream of messages that is used in server-side handlers.

    Enums

    ChannelOption.OptionType

    Type of ChannelOption.

    ChannelState

    Connectivity state of a channel. Based on grpc_connectivity_state from grpc/grpc.h

    CompressionLevel

    Compression level based on grpc_compression_level from grpc/compression.h

    MethodType

    Method types supported by gRPC.

    SslClientCertificateRequestType

    Modes of requesting client's SSL certificate by the server. Corresponds to grpc_ssl_client_certificate_request_type.

    StatusCode

    Result of a remote procedure call. Based on grpc_status_code from grpc/status.h

    WriteFlags

    Flags for write operations.

    Delegates

    AsyncAuthInterceptor

    Asynchronous authentication interceptor for CallCredentials.

    ClientStreamingServerMethod<TRequest, TResponse>

    Server-side handler for client streaming call.

    DuplexStreamingServerMethod<TRequest, TResponse>

    Server-side handler for bidi streaming call.

    ServerStreamingServerMethod<TRequest, TResponse>

    Server-side handler for server streaming call.

    UnaryServerMethod<TRequest, TResponse>

    Server-side handler for unary call.

    VerifyPeerCallback

    Callback invoked with the expected targetHost and the peer's certificate. If false is returned by this callback then it is treated as a verification failure and the attempted connection will fail. Invocation of the callback is blocking, so any implementation should be light-weight. Note that the callback can potentially be invoked multiple times, concurrently from different threads (e.g. when multiple connections are being created for the same credentials).

    Back to top Generated by DocFX