public sealed class AsyncUnaryCall<TResponse> : IDisposable
Return type for single request - single response call.
Implements
IDisposableNamespace
Grpc.CoreAssembly
Grpc.Core.Api.dll
Type Parameter
TResponse
Response message type for this call.
Constructors
AsyncUnaryCall(Task<TResponse>, Func<object, Task<Metadata>>, Func<object, Status>, Func<object, Metadata>, Action<object>, object)
public AsyncUnaryCall(Task<TResponse> responseAsync, Func<object, Task<Metadata>> responseHeadersAsync, Func<object, Status> getStatusFunc, Func<object, Metadata> getTrailersFunc, Action<object> disposeAction, object state)
Creates a new AsyncUnaryCall object with the specified properties.
responseAsync
state
AsyncUnaryCall(Task<TResponse>, Task<Metadata>, Func<Status>, Func<Metadata>, Action)
public AsyncUnaryCall(Task<TResponse> responseAsync, Task<Metadata> responseHeadersAsync, Func<Status> getStatusFunc, Func<Metadata> getTrailersFunc, Action disposeAction)
Creates a new AsyncUnaryCall object with the specified properties.
responseAsync
disposeAction
Properties
ResponseAsync
public Task<TResponse> ResponseAsync { get; }
Asynchronous call result.
ResponseHeadersAsync
public Task<Metadata> ResponseHeadersAsync { get; }
Asynchronous access to response headers.
Methods
ConfigureAwait(bool)
public ConfiguredTaskAwaitable<TResponse> ConfigureAwait(bool continueOnCapturedContext)
Configures an awaiter used to await this AsyncUnaryCall<TResponse> .
continueOnCapturedContext
bool
true to attempt to marshal the continuation back to the original context captured; otherwise, false.
Dispose()
public void Dispose()
Provides means to cleanup after the call. If the call has already finished normally (request stream has been completed and call result has been received), doesn't do anything. Otherwise, requests cancellation of the call which should terminate all pending async operations associated with the call. As a result, all resources being used by the call should be released eventually.
Normally, there is no need for you to dispose the call unless you want to utilize the
"Cancel" semantics of invoking Dispose
.
GetAwaiter()
public TaskAwaiter<TResponse> GetAwaiter()
Gets an awaiter used to await this AsyncUnaryCall<TResponse> .
This method is intended for compiler use rather than use directly in code.
GetStatus()
public Status GetStatus()
Gets the call status if the call has already finished. Throws InvalidOperationException otherwise.
GetTrailers()
public Metadata GetTrailers()
Gets the call trailing metadata if the call has already finished. Throws InvalidOperationException otherwise.