コード例 #1
0
        public override async Task <InstalledPackagesReply> GetInstalledPackages(InstalledPackagesRequest _, ServerCallContext __)
        {
            await _semaphoreSlim.WaitAsync();

            var reply = new InstalledPackagesReply();

            try
            {
                var installedPackages = ROpsApi.GetInstalledPackages();

                reply.Payload = new InstalledPackagesPayload();
                reply.Payload.InstalledPackages.Add(installedPackages);
            }
            catch (Exception ex)
            {
                reply.Error = PopulateError(ex);
                _logger.LogError(ex, nameof(GetInstalledPackages));
            }
            finally
            {
                _semaphoreSlim.Release();
            }

            return(await Task.FromResult(reply));
        }