Method RequestAsync
RequestAsync<TRequest, TReply>(string, TRequest?, NatsHeaders?, INatsSerialize<TRequest>?, INatsDeserialize<TReply>?, NatsPubOpts?, NatsSubOpts?, CancellationToken)
Request and receive a single reply from a responder.
public ValueTask<NatsMsg<TReply>> RequestAsync<TRequest, TReply>(string subject, TRequest? data, NatsHeaders? headers = null, INatsSerialize<TRequest>? requestSerializer = null, INatsDeserialize<TReply>? replySerializer = null, NatsPubOpts? requestOpts = null, NatsSubOpts? replyOpts = null, CancellationToken cancellationToken = default)
Parameters
subject
stringSubject of the responder
data
TRequestData to send to responder
headers
NatsHeadersOptional message headers
requestSerializer
INatsSerialize<TRequest>Serializer to use for the request message type.
replySerializer
INatsDeserialize<TReply>Serializer to use for the reply message type.
requestOpts
NatsPubOptsRequest publish options
replyOpts
NatsSubOptsReply handler subscription options
cancellationToken
CancellationTokenCancel this request
Returns
- ValueTask<NatsMsg<TReply>>
Returns the NatsMsg<T> received from the responder as reply.
Type Parameters
TRequest
Request type
TReply
Reply type
Remarks
Response can be (null) or one NatsMsg<T>. Reply option's max messages will be set to 1. If reply option's timeout is not defined, then it will be set to NatsOpts.RequestTimeout.
Exceptions
- OperationCanceledException
Raised when cancellation token is used
RequestAsync<TReply>(string, INatsDeserialize<TReply>?, NatsSubOpts?, CancellationToken)
Send an empty request message and await the reply message asynchronously.
public ValueTask<NatsMsg<TReply>> RequestAsync<TReply>(string subject, INatsDeserialize<TReply>? replySerializer = null, NatsSubOpts? replyOpts = null, CancellationToken cancellationToken = default)
Parameters
subject
stringSubject of the responder
replySerializer
INatsDeserialize<TReply>Serializer to use for the reply message type.
replyOpts
NatsSubOptsReply handler subscription options
cancellationToken
CancellationTokenCancel this request
Returns
- ValueTask<NatsMsg<TReply>>
Returns the NatsMsg<T> received from the responder as reply.
Type Parameters
TReply
Reply type
Remarks
Response can be (null) or one NatsMsg<T>. Reply option's max messages will be set to 1. If reply option's timeout is not defined, then it will be set to NatsOpts.RequestTimeout.
Exceptions
- OperationCanceledException
Raised when cancellation token is used