feat: Refactor RaceUploadCommunicationClient and RaceUploadTabView to improve HttpClient management and resource disposal
This commit is contained in:
parent
b29cc95a1e
commit
bdf503c627
3 changed files with 145 additions and 81 deletions
|
|
@ -10,7 +10,7 @@ using Microsoft.Extensions.Options;
|
|||
|
||||
namespace Catalog.Communication;
|
||||
|
||||
public sealed class RaceUploadCommunicationClient : IRaceUploadCommunicationClient
|
||||
public sealed class RaceUploadCommunicationClient : IRaceUploadCommunicationClient, IDisposable
|
||||
{
|
||||
private const string AdminMenuPath = "admin/menu/Menu4.abl";
|
||||
private const string PublicLogonPath = "Logon.abl";
|
||||
|
|
@ -27,6 +27,7 @@ public sealed class RaceUploadCommunicationClient : IRaceUploadCommunicationClie
|
|||
private readonly HttpClient _httpClient;
|
||||
private readonly ILogger<RaceUploadCommunicationClient> _logger;
|
||||
private readonly IOptions<CatalogCommunicationOptions> _options;
|
||||
private bool _disposed;
|
||||
|
||||
public RaceUploadCommunicationClient(
|
||||
HttpClient httpClient,
|
||||
|
|
@ -38,6 +39,18 @@ public sealed class RaceUploadCommunicationClient : IRaceUploadCommunicationClie
|
|||
_logger = logger;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (_disposed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_httpClient.Dispose();
|
||||
_disposed = true;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
public Task<RawEndpointResponse> LoginAdminAsync(AdminLoginRequest request, CancellationToken cancellationToken = default)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(request);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue