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`.
This commit is contained in:
2026-06-18 16:15:00 +02:00
parent 88317e40f5
commit 030646f33d

View File

@@ -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<HttpClient>(sp => {
var httpClientFactory = sp.GetRequiredService<IHttpClientFactory>();
return httpClientFactory.CreateClient();
var httpContextAccessor = sp.GetRequiredService<IHttpContextAccessor>();
var request = httpContextAccessor.HttpContext?.Request;
var httpClient = sp.GetRequiredService<IHttpClientFactory>().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<DocumentService>();
builder.Services.AddScoped<AuthService>();
builder.Services.AddScoped<AnnotationService>();
builder.Services.AddScoped<EnvelopeReceiverService>();
builder.Services.AddScoped<SignatureService>();
builder.Services.AddScoped<SignatureCacheService>();
builder.Services.AddSingleton<AppVersionService>();
// YARP Reverse Proxy
builder.Services.AddReverseProxy()
.LoadFromConfig(builder.Configuration.GetSection("ReverseProxy"));