public override async Task <RversionReply> GetRversion(RversionRequest _, ServerCallContext __) { await _semaphoreSlim.WaitAsync(); var reply = new RversionReply(); try { var rVersion = ROpsApi.GetRversion(); reply.Payload = new RversionPayload(); reply.Payload.Rversion.Add(rVersion); } catch (Exception ex) { reply.Error = PopulateError(ex); _logger.LogError(ex, nameof(GetRversion)); } finally { _semaphoreSlim.Release(); } return(await Task.FromResult(reply)); }