Oktatóanyag: Feltételes szolgáltatások engedélyezése egyéni szűrővel egy ASP.NET Core-alkalmazásban
A funkciójelzők funkciószűrőkkel feltételesen engedélyezhetik a funkciókat. A funkciószűrőkkel kapcsolatos további információkért lásd az oktatóanyagot: Feltételes szolgáltatások engedélyezése funkciószűrőkkel.
Az oktatóanyagban használt példa a szolgáltatásfelügyeleti rövid útmutatóban bemutatott ASP.NET Core-alkalmazáson alapul. A folytatás előtt végezze el a rövid útmutatót egy ASP.NET Core-alkalmazás bétaverziós funkciójelzővel való létrehozásához. Ha végzett, hozzá kell adnia egy egyéni funkciószűrőt az Alkalmazáskonfigurációs áruház bétafunkció-jelzőjéhez .
Ebben az oktatóanyagban megtudhatja, hogyan implementálhat egyéni funkciószűrőt, és hogyan használhatja a funkciószűrőt a funkciók feltételes engedélyezéséhez.
Előfeltételek
- ASP.NET Core-alkalmazás létrehozása funkciójelölővel.
- Egyéni funkciószűrő hozzáadása a funkciójelölőhöz
Egyéni funkciószűrő implementálása
Az előfeltételek között hozzáadott egy Véletlenszerű nevű egyéni funkciószűrőt a bétaverzió-funkciójelző százalékos paraméterével. Ezután implementálja a funkciószűrőt, hogy engedélyezze a bétaverzió funkciójelzőjét a Százalék paraméter által meghatározott esély alapján.
Adjon hozzá egy
RandomFilter.cs
fájlt az alábbi kóddal.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); } } }
Hozzáadott egy osztályt
RandomFilter
, amely implementálja aIFeatureFilter
felületet aMicrosoft.FeatureManagement
tárból. AzIFeatureFilter
interfésznek egyetlen metódusa van,EvaluateAsync
amelyet a rendszer a funkciójelző kiértékelésekor hív meg. AEvaluateAsync
funkciószűrők a visszatéréssel engedélyezik a funkciójelzőttrue
.A szűrőhöz egy véletlenszerű aliast adott
FilterAliasAttribute
, amely megfelel a Azure-alkalmazás Konfiguráció bétafunkció-jelölőjében beállított szűrőnévnek.RandomFilter
Nyissa meg a Program.cs fájlt, és regisztrálja a
RandomFilter
AddFeatureFilter
metódus meghívásával.// 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 // ... ...
Funkciószűrő működés közben
Indítsa újra az alkalmazást, és frissítse a böngészőt néhányszor. A funkciójelző manuális összevonása nélkül láthatja, hogy néha megjelenik a Béta menü, és néha nem.
Következő lépések
A beépített funkciószűrőkkel kapcsolatos további információkért folytassa az alábbi oktatóanyagokkal.
A .NET szolgáltatásfelügyeleti kódtár teljes funkciólefutásához folytassa a következő dokumentumot.