.NET 6 - Validierung der .NET-Konfiguration

.NET 6 - Validierung der .NET-Konfiguration

13 Jan 2023 - Matthias Voigt

In .NET 6 gibt es effiziente Methoden, um die Konfiguration einer Anwendung zu validieren. Dies stellt sicher, dass alle notwendigen Einstellungen korrekt und vollständig sind, bevor die Anwendung gestartet wird.

Validierung der Konfiguration

Die Validierung der Konfiguration kann durch Implementierung eines benutzerdefinierten Validierungsdienstes erfolgen. Dieser prüft, ob alle erforderlichen Konfigurationswerte vorhanden und korrekt sind.

Beispiel:

Angenommen, es gibt eine Konfigurationsklasse MySettings, die validiert werden soll:

public class MySettings
{
    public string Setting1 { get; set; }
    public int Setting2 { get; set; }
}

Zuerst wird die Konfiguration in der Program.cs-Datei geladen und in den DI-Container eingebunden:

var builder = WebApplication.CreateBuilder(args);

// Konfiguration laden und in den DI-Container einfügen
builder.Services.Configure<MySettings>(builder.Configuration.GetSection("MySettings"));

// Validierungsdienst hinzufügen
builder.Services.AddSingleton<IValidateOptions<MySettings>, MySettingsValidation>();

var app = builder.Build();
app.Run();

Nun wird ein Validierungsdienst erstellt, der die IValidateOptions<T>-Schnittstelle implementiert:

public class MySettingsValidation : IValidateOptions<MySettings>
{
    public ValidateOptionsResult Validate(string name, MySettings settings)
    {
        if (string.IsNullOrEmpty(settings.Setting1))
        {
            return ValidateOptionsResult.Fail("Setting1 darf nicht leer sein.");
        }

        if (settings.Setting2 <= 0)
        {
            return ValidateOptionsResult.Fail("Setting2 muss größer als 0 sein.");
        }

        return ValidateOptionsResult.Success;
    }
}

Fazit

Die Validierung der Konfiguration in .NET 6 ist eine wichtige Praxis, um sicherzustellen, dass alle notwendigen Einstellungen korrekt und vollständig sind, bevor die Anwendung gestartet wird. Dies verbessert die Zuverlässigkeit und Wartbarkeit der Anwendung erheblich.

Für weitere Details und eine ausführliche Anleitung besuche den Link zur Quelle.