ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يمكن أن تستخدم علامات الميزات عوامل تصفية الميزات لتمكين الميزات بشكل مشروط. لمعرفة المزيد حول عوامل تصفية الميزات، راجع تمكين الميزات الشرطية باستخدام عوامل تصفية الميزات.
يستند المثال المستخدم في هذا الدليل إلى تطبيق ASP.NET Core المقدم في التشغيل السريع لإدارة الميزات. قبل المتابعة، أكمل التشغيل السريع لإنشاء تطبيق ASP.NET Core مع علامة ميزة Beta . بمجرد الانتهاء، يجب إضافة عامل تصفية ميزة مخصص إلى علامة ميزة Beta في متجر App Configuration.
في هذا الدليل، ستتعلم كيفية تنفيذ عامل تصفية ميزة مخصص واستخدام عامل تصفية الميزة لتمكين الميزات بشكل مشروط.
لقد أضفت عامل تصفية ميزة مخصصا يسمى Random مع معلمة النسبة المئوية لعلامة ميزة Beta في المتطلبات الأساسية. بعد ذلك، ستقوم بتنفيذ عامل تصفية الميزة لتمكين علامة ميزة Beta استنادا إلى الفرصة المحددة بواسطة معلمة النسبة المئوية .
أضف ملفا
RandomFilter.cs
باستخدام التعليمات البرمجية التالية.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); } } }
لقد أضفت
RandomFilter
فئة تنفذ الواجهةIFeatureFilter
من المكتبةMicrosoft.FeatureManagement
. تحتوي الواجهةIFeatureFilter
على أسلوب واحد يسمىEvaluateAsync
، والذي يتم استدعاؤه كلما تم تقييم علامة ميزة. فيEvaluateAsync
، يمكن عامل تصفية الميزة علامة ميزة عن طريق إرجاعtrue
.لقد قمت بتزيين
FilterAliasAttribute
إلى لمنح عامل التصفيةRandomFilter
اسما مستعارا عشوائيا، والذي يطابق اسم عامل التصفية الذي قمت بتعيينه في علامة ميزة بيتا في تكوين تطبيق Azure.افتح ملف Program.cs وسجل
RandomFilter
عن طريق استدعاءAddFeatureFilter
الأسلوب .// 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 // ... ...
أعد تشغيل التطبيق وحدث المتصفح عدة مرات. دون تبديل علامة الميزة يدويا، سترى أن القائمة بيتا تظهر في بعض الأحيان وأحيانا لا تظهر.
لمعرفة المزيد حول عوامل تصفية الميزات المضمنة، تابع إلى المستندات التالية.
للتشغيل الكامل للميزة لمكتبة إدارة ميزات .NET، تابع إلى المستند التالي.