إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يمكن أن تستخدم علامات الميزات عوامل تصفية الميزات لتمكين الميزات بشكل مشروط. لمزيد من المعلومات حول عوامل تصفية الميزات، راجع تمكين الميزات الشرطية باستخدام عوامل تصفية الميزات.
يوضح لك هذا الدليل كيفية تنفيذ عامل تصفية ميزات مخصص في تطبيق ASP.NET Core واستخدام عامل تصفية الميزات لتمكين الميزات بشكل مشروط.
المتطلبات الأساسية
- تطبيق ASP.NET Core الذي يحتوي على علامة ميزة تجريبية تقوم بإنشائها عند إكمال الخطوات الواردة في التشغيل السريع: إضافة علامات الميزات إلى تطبيق ASP.NET Core. يعتمد هذا الدليل على هذا التشغيل السريع لإدارة الميزات.
- عامل تصفية ميزة مخصص يسمى
Random، تمت إضافته إلى علامة الميزة التجريبية في متجر Azure App Configuration. للحصول على الإرشادات، يرجى الاطلاع على إضافة فلتر ميزات مخصصة.
تنفيذ عامل تصفية ميزة مخصص
في متجر App Configuration الخاص بك، تحتوي علامة الميزة التجريبية على عامل تصفية ميزات مخصص باسم Random. يحتوي هذا الفلتر على معلمة Percentage . لتنفيذ عامل تصفية الميزات، يمكنك تمكين علامة الميزة التجريبية استنادا إلى الفرصة المحددة بواسطة المعلمة Percentage .
انتقل إلى المجلد الذي يحتوي على مشروع تطبيق ASP.NET Core من التشغيل السريع لإدارة الميزات المدرج في المتطلبات الأساسية.
أضف ملف 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.في هذا الرمز ، تم تزيين الفصل
RandomFilterبFilterAliasAttribute، مما يعطي المرشح الخاص بك الاسمRandomالمستعار . يتطابق هذا الاسم المستعار مع اسم عامل التصفية في علامة ميزة الإصدار التجريبي في تكوين التطبيق.افتح ملف Program.cs . قم بالتسجيل
RandomFilterعن طريق إضافة استدعاء إلى الطريقةAddFeatureFilter، كما هو موضح في التعليمات البرمجية التالية:// 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 // ... ...
تطبيق عامل تصفية الميزات
أنشئ تطبيقك باستخدام الأمر
dotnet build. ثم قم بتشغيله باستخدامdotnet run.في إخراج
dotnet runالأمر، ابحث عن عنوان URL يستمع إليه تطبيق الويب. افتح متصفحا وانتقل إلى عنوان URL هذا.قم بتحديث المتصفح عدة مرات. تظهر القائمة التجريبية أحيانا على صفحة ويب، وأحيانا لا تظهر على ذلك. لا يتم تشغيل علامة الميزة التجريبية وإيقاف تشغيلها يدويا. يحدث الاختلاف بسبب الرقم العشوائي الذي
RandomFilterيولده التنفيذEvaluateAsyncعند تقييم علامة الميزة.
الخطوات التالية
لمعرفة المزيد حول عوامل تصفية الميزات المضمنة، تابع إلى المستندات التالية:
للحصول على ملخص الميزات الكامل لمكتبة إدارة ميزات .NET، تابع إلى المستند التالي: