Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Příznaky funkcí můžou používat filtry funkcí k podmíněnému povolení funkcí. Další informace o filtrech funkcí naleznete v části Povolit podmíněné funkce pomocí filtrů funkcí.
V této příručce se dozvíte, jak implementovat vlastní filtr funkcí v aplikaci ASP.NET Core a použít filtr funkcí k podmíněnému povolení funkcí.
Požadavky
- Aplikace ASP.NET Core s příznakem funkce Beta , který vytvoříte po dokončení kroků v rychlém startu: Přidání příznaků funkcí do aplikace ASP.NET Core. Tato příručka vychází z tohoto rychlého startu pro správu funkcí.
- Vlastní filtr funkcí s názvem
Random, který se přidá do příznaku funkce Beta ve službě Azure App Configuration Store. Pokyny najdete v tématu Přidání vlastního filtru funkcí.
Implementace vlastního filtru funkcí
V Obchodě App Configuration má příznak funkce Beta vlastní filtr funkcí s názvem Random. Tento filtr má Percentage parametr. Pokud chcete implementovat filtr funkcí, povolíte příznak funkce Beta na základě pravděpodobnosti definované parametrem Percentage .
V rychlém startu pro správu funkcí uvedených v části Požadavky přejděte do složky, která obsahuje projekt aplikace ASP.NET Core.
Přidejte soubor RandomFilter.cs , který obsahuje následující kód:
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); } } }Třída
RandomFilterv předchozím kódu implementujeIFeatureFilterrozhraní zMicrosoft.FeatureManagementknihovny. RozhraníIFeatureFiltermá 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.V tomto kódu je třída
RandomFilteroznačená jakoFilterAliasAttribute, který přiřazuje vašemu filtru aliasRandom. Tento alias odpovídá názvu filtru v příznaku funkce Beta v konfiguraci aplikace.Otevřete soubor Program.cs. Zaregistrujte
RandomFilterpřidáním volání metodyAddFeatureFilter, jak ukazuje následující kód:// Existing code in Program.cs // ... ... // Add feature management to the container of services. builder.Services.AddFeatureManagement() .AddFeatureFilter<RandomFilter>(); // The rest of the existing code in Program.cs // ... ...
Použití filtru funkcí
Sestavte aplikaci pomocí
dotnet buildpříkazu. Pak spusťte pomocídotnet run.Ve výstupu
dotnet runpříkazu vyhledejte adresu URL, na které webová aplikace naslouchá. Otevřete prohlížeč a přejděte na danou adresu URL.Několikrát aktualizujte prohlížeč. Nabídka Beta se někdy zobrazí na webové stránce, zatímco jindy nikoliv. Přepínač funkce Beta není ručně zapínán a vypínán. Variace je způsobená náhodným číslem, které
RandomFilterpři vyhodnocování příznaku funkce generuje implementaceEvaluateAsync.
Další kroky
Další informace o předdefinovaných filtrech funkcí najdete v následujících dokumentech:
Úplný seznam funkcí knihovny pro správu funkcí .NET najdete v následujícím dokumentu: