From 7da93c671957508e923606b3d00113936059394d Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Mon, 16 Dec 2024 09:44:51 +0100 Subject: [PATCH] refactor(DIExtensions): Verbesserung der Registrierung von AsymCrypt-Diensten und Vereinfachung von Overloads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - `AddAsymCryptService` aktualisiert, um eine Standardimplementierung mit `AsymCryptParams` ohne generische Typen bereitzustellen. - Neue Überladung von `AddAsymCryptService` hinzugefügt, die eine `IConfigurationSection` für Standardparameter akzeptiert. - Lebensdauer der Service-Registrierungen für `IAsymCryptService` von `Scoped` auf `Singleton` geändert, um Konsistenz und geringeren Overhead zu gewährleisten. --- DigitalData.Core.Security/AsymCryptService.cs | 2 -- DigitalData.Core.Security/DIExtensions.cs | 14 ++++++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/DigitalData.Core.Security/AsymCryptService.cs b/DigitalData.Core.Security/AsymCryptService.cs index cc471af..82cf984 100644 --- a/DigitalData.Core.Security/AsymCryptService.cs +++ b/DigitalData.Core.Security/AsymCryptService.cs @@ -40,9 +40,7 @@ namespace DigitalData.Core.Security get { foreach (var decryptor in Decryptors) - { yield return decryptor.Encryptor; - } } } } diff --git a/DigitalData.Core.Security/DIExtensions.cs b/DigitalData.Core.Security/DIExtensions.cs index 2adbd54..208ff04 100644 --- a/DigitalData.Core.Security/DIExtensions.cs +++ b/DigitalData.Core.Security/DIExtensions.cs @@ -23,8 +23,8 @@ namespace DigitalData.Core.Security private static IServiceCollection AddAsymCryptService(this IServiceCollection services, bool setAsDefault = false) where TAsymCryptParams : AsymCryptParams => setAsDefault - ? services.AddScoped>() - : services.AddScoped, AsymCryptService>(); + ? services.AddSingleton>() + : services.AddSingleton, AsymCryptService>(); /// /// Registers a custom asym crypt service with specified parameters from the given configuration section. @@ -38,6 +38,16 @@ namespace DigitalData.Core.Security where TAsymCryptParams : AsymCryptParams => services.Configure(section).AddAsymCryptService(setAsDefault: setAsDefault); + /// + /// Registers a custom asym crypt service with default parameters from the given configuration section. + /// + /// + /// + /// + /// + public static IServiceCollection AddAsymCryptService(this IServiceCollection services, IConfigurationSection section, bool setAsDefault = false) + => services.Configure(section).AddAsymCryptService(setAsDefault: setAsDefault); + /// /// Registers an asym crypt service with the specified parameters from the given instance. Optionally, sets it as the default factory. ///