コード例 #1
0
        public virtual async ValueTask DisposeAsync()
        {
            if (_client != null)
            {
                await _client.DisposeAsync().ConfigureAwait(false);

                return;
            }

            if (IsDisposed)
            {
                return;
            }

            IsDisposed = true;
            State.Reset();

            foreach (var extensionKvp in _extensions)
            {
                try
                {
                    await extensionKvp.Value.DisposeAsync().ConfigureAwait(false);
                }
                catch (Exception ex)
                {
                    Log(LogMessageSeverity.Error, $"An exception occurred while disposing the {extensionKvp.Key} extension.", ex);
                }
            }

            RestClient.Dispose();
        }