From 030646f33d92c8852d25de16dc4694eb8b6e11df Mon Sep 17 00:00:00 2001 From: TekH Date: Thu, 18 Jun 2026 16:15:00 +0200 Subject: [PATCH] Enhance service configuration and DI setup Added `EnvelopeGenerator.WebUI.Client.Services` to the using directives. Registered `IHttpContextAccessor` to access HTTP context for request-specific information. Modified `HttpClient` setup to dynamically set the base address using the current request's host. Introduced several business services (`DocumentService`, `AuthService`, `AnnotationService`, `EnvelopeReceiverService`, `SignatureService`, `SignatureCacheService`, `AppVersionService`) to the service collection, indicating new features. Maintained existing YARP configuration. Noted the importance of DevExpress services for `DxPdfViewer`. --- .../EnvelopeGenerator.WebUI/Program.cs | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/EnvelopeGenerator.WebUI/EnvelopeGenerator.WebUI/Program.cs b/EnvelopeGenerator.WebUI/EnvelopeGenerator.WebUI/Program.cs index ed520420..0c0153d6 100644 --- a/EnvelopeGenerator.WebUI/EnvelopeGenerator.WebUI/Program.cs +++ b/EnvelopeGenerator.WebUI/EnvelopeGenerator.WebUI/Program.cs @@ -1,5 +1,6 @@ using EnvelopeGenerator.WebUI.Components; using DevExpress.Blazor; +using EnvelopeGenerator.WebUI.Client.Services; var builder = WebApplication.CreateBuilder(args); @@ -12,12 +13,31 @@ builder.Services.AddRazorComponents() .AddInteractiveWebAssemblyComponents(); // HttpClient for server-side components (e.g., MainLayout with FontLoader) +builder.Services.AddHttpContextAccessor(); builder.Services.AddScoped(sp => { - var httpClientFactory = sp.GetRequiredService(); - return httpClientFactory.CreateClient(); + var httpContextAccessor = sp.GetRequiredService(); + var request = httpContextAccessor.HttpContext?.Request; + + var httpClient = sp.GetRequiredService().CreateClient(); + + if (request != null) { + // Set base address to current host (e.g., https://localhost:5131) + httpClient.BaseAddress = new Uri($"{request.Scheme}://{request.Host}"); + } + + return httpClient; }); builder.Services.AddHttpClient(); +// Business Services +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddSingleton(); + // YARP Reverse Proxy builder.Services.AddReverseProxy() .LoadFromConfig(builder.Configuration.GetSection("ReverseProxy"));