Slovenská verzeSlovensky

wiki Options Pattern

Miroslav Holec

15. července. 2020

V rámci .NET Core aplikací má k dispozici vývojář veškerou aplikační konfiguraci skrze třídu IConfiguration. Pro předání do různých services (tříd) ale vývojář obvykle chce předat jen nezbytnou část konfigurace, která dává pro adnou službu smysl. Pro tento účel je možní vzít část konfigurace (tzv. configuration section) a tuto část konfigurace namapovat na typ (C# třídu). Danou C# třídu je následně možné pomocí mechanismu Dependency Injection předat do cílových služeb. Příkladem může být třída:

public class SmtpOptions
{
    public string Host { get; set; }
    public string Username { get; set; }
}

kterou lze následně předat do cílové služby. V tomto případě do razor PageModelu, který pouze konfiguraci vrátí jako plain content.

public class MailingModel : PageModel
{
    private readonly SmtpOptions _options;

    public MailingModel(IOptions<SmtpOptions> options)
    {
        _options = options.Value;
    }

    public ContentResult OnGet()
    {
        return Content($"Title: {_options.Host} \n" +
                       $"Name: {_options.Username}");
    }
}

👨‍🎓 Webináře pro vývojáře

Vzdělávat se můžete i z pohodlí domova. Klasická školení jsem doplnil o související témata, která si můžete poslechnout v podobě živých webinářů. Přidejte se téměř 200 vývojářům, kteří se již připojili k mým webinářům!

Termín Místo
🍀 Autentizace pro API v .NET Core 21. září 2020 online více
🍀 Vývoj a správa nástrojů v .NET Core 22. září 2020 online více
🍀 C# a dokonalejší .NET Core aplikace 30. září 2020 online více
🍀 Konzumace REST API v .NET Core 1. října 2020 online více

Loading