У меня есть служба gRPC, определенная как показано ниже
service ConsumerService
{
stream Message Consume(SubscriptionRequest);
}
Клиент выглядит следующим образом:
var consumer = new ConsumerService.ConsumerServiceClient(<channel>);
AsyncServerStreamingCall<Message> proxy = consumer.ConsumeAsync(subRequest));
while (!gracefulShutdown)
await proxy.ResponseStream.MoveNext(cts.Token);
// todo: tell the server that client is not going to read responses anymore..
await proxy.ResponseStream.CompleteAsync(); // I would like to have method like this
Мне нужно, чтобы клиент изящно прекратил читать ответы, когда gracefulShutdown установлен в значение true.Как мне это сделать?
Если я просто прекращаю чтение и закрываю канал, сервер считает, что это как прерывание.