Megosztás a következőn keresztül:


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

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.

  1. 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 a IFeatureFilter felületet a Microsoft.FeatureManagement tárból. Az IFeatureFilter interfésznek egyetlen metódusa van, EvaluateAsyncamelyet a rendszer a funkciójelző kiértékelésekor hív meg. A EvaluateAsyncfunkciószűrők a visszatéréssel engedélyezik a funkciójelzőt true.

    A szűrőhöz egy véletlenszerű aliast adottFilterAliasAttribute, amely megfelel a Azure-alkalmazás Konfiguráció bétafunkció-jelölőjében beállított szűrőnévnek.RandomFilter

  2. 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épernyőkép a böngészőről, rejtett bétamenüvel.

Képernyőkép a bétamenüvel rendelkező böngészőről.

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.