Kurz: Povolení podmíněných funkcí s vlastním filtrem v aplikaci ASP.NET Core
Příznaky funkcí můžou používat filtry funkcí k podmíněnému povolení funkcí. Další informace o filtrech funkcí najdete v tématu Kurz: Povolení podmíněných funkcí pomocí filtrů funkcí.
Příklad použitý v tomto kurzu vychází z aplikace ASP.NET Core představené v rychlém startu pro správu funkcí. Než budete pokračovat, dokončete rychlý start a vytvořte aplikaci ASP.NET Core s příznakem funkce Beta . Po dokončení musíte přidat vlastní filtr funkcí do příznaku funkce Beta v Obchodě App Configuration Store.
V tomto kurzu se dozvíte, jak implementovat vlastní filtr funkcí a použít filtr funkcí k podmíněnému povolení funkcí.
Požadavky
- Vytvořte aplikaci ASP.NET Core s příznakem funkce.
- Přidání vlastního filtru funkcí do příznaku funkce
Implementace vlastního filtru funkcí
Přidali jste vlastní filtr funkcí s názvem Random s parametrem Percentage pro příznak funkce Beta v požadavcích. Dále implementujete filtr funkcí, který povolí příznak funkce Beta na základě pravděpodobnosti definované parametrem Procento .
RandomFilter.cs
Přidejte soubor s následujícím kódem.using Microsoft.FeatureManagement; namespace TestAppConfig { [FilterAlias("Random")] public class RandomFilter : IFeatureFilter { private readonly Random _random; public RandomFilter() { _random = new Random(); } public Task<bool> EvaluateAsync(FeatureFilterEvaluationContext context) { int percentage = context.Parameters.GetSection("Percentage").Get<int>(); int randomNumber = _random.Next(100); return Task.FromResult(randomNumber <= percentage); } } }
Přidali
RandomFilter
jste třídu, která implementujeIFeatureFilter
rozhraní zMicrosoft.FeatureManagement
knihovny. RozhraníIFeatureFilter
má jednu metodu s názvemEvaluateAsync
, která se volá při každém vyhodnocení příznaku funkce. VEvaluateAsync
, filtr funkce umožňuje příznak funkce vrácenímtrue
.Přizdobili
FilterAliasAttribute
jste filtrRandomFilter
tak, aby byl alias náhodný, který odpovídá názvu filtru, který jste nastavili v příznaku funkce Beta v konfiguraci Aplikace Azure.Otevřete soubor Program.cs a zaregistrujte voláním
RandomFilter
AddFeatureFilter
metody.// The rest of existing code in Program.cs // ... ... // Add feature management to the container of services. builder.Services.AddFeatureManagement() .AddFeatureFilter<RandomFilter>(); // The rest of existing code in Program.cs // ... ...
Filtr funkcí v akci
Znovu spusťte aplikaci a několikrát aktualizujte prohlížeč. Bez ručního přepnutí příznaku funkce uvidíte, že se nabídka Beta někdy zobrazí a někdy ne.
Další kroky
Další informace o předdefinovaných filtrech funkcí najdete v následujících kurzech.
Úplný běh funkcí knihovny pro správu funkcí .NET najdete v následujícím dokumentu.