استخدم التسميات لتوفير قيم التكوين لكل بيئة.

العديد من التطبيقات تحتاج إلى استخدام تكوينات مختلفة لبيئات مختلفة. لنفترض أن التطبيق يحتوي على قيمة تكوين تحدد سلسلة الاتصال لاستخدامها في قاعدة البيانات الخلفية الخاصة به. مطورو التطبيقات يستخدم قاعدة بيانات مختلفة عن تلك المستخدمة في الإنتاج. يجب تغيير سلسلة اتصال قاعدة البيانات التي يستخدمها التطبيق مع انتقال التطبيق من التطوير إلى الإنتاج.

في Azure App Configuration، يمكنك استخدام التسميات لتعريف قيم مختلفة لنفس المفتاح. على سبيل المثال، يمكنك تعريف مفتاح واحد بقيم مختلفة للتطوير والإنتاج. التسمية التي يجب تحميلها يمكن تحديدها عند الاتصال بتكوين التطبيق.

لإظهار هذه الوظيفة، ستقوم بتعديل تطبيق الويب الذي تم إنشاؤه في تشغيل سريع: أنشئ تطبيق ASP.NET Core باستخدام Azure App Configuration لاستخدام إعدادات تكوين مختلفة للتطوير مقابل الإنتاج. أكمل التشغيل السريع قبل المتابعة.

تحديد تسمية عند إضافة قيمة تكوين

في مدخل Microsoft Azure، انتقل إلى مستكشف التكوين، وابحث عن مفتاح TestApp:Settings:FontColor الذي أنشأته في التشغيل السريع. حدد قائمة السياق الخاصة به ثم حدد إضافة قيمة.

Add Value menu item

في شاشة إضافة قيمة، أدخل قيمةبـ اللون الأحمر وتسميةالتطوير. اترك نوع المحتوى فارغًا. حدد تطبيق.

تحميل قيم التكوين باستخدام تسمية محددة

بشكل افتراضي، يقوم Azure App Configuration بتحميل قيم التكوين فقط بدون تسمية. إذا قمت بتعريف تسميات لقيم التكوين الخاصة بك، فسترغب في تحديد التسميات لاستخدامها عند الاتصال بتكوين التطبيق.

في القسم السابق، أنشئ قيمة تكوين مختلفة لبيئة التطوير. يمكنك استخدام المتغير HostingEnvironment.EnvironmentName لتحديد البيئة التي يعمل فيها التطبيق حاليًا ديناميكيًا. لمعرفة المزيد، راجع استخدام بيئات متعددة في ASP.NET Core.

أضف مرجعًا إلى مساحة اسم Microsoft.Extensions.Configuration.AzureAppConfiguration للوصول إلى فئتي KeyFilter وAppnFilter.

using Microsoft.Extensions.Configuration.AzureAppConfiguration;

تحميل قيم التكوين مع التسمية المقابلة للبيئة الحالية عن طريق تمرير اسم البيئة إلى الأسلوب Select:

var builder = WebApplication.CreateBuilder(args);

builder.Configuration.AddAzureAppConfiguration(options =>
    {
            options.Connect(builder.Configuration.GetConnectionString("AppConfig"))
                // Load configuration values with no label
                .Select(KeyFilter.Any, LabelFilter.Null)
                // Override with any configuration values specific to current hosting env
                .Select(KeyFilter.Any, builder.Environment.EnvironmentName);
    });

هام

القصاصة البرمجية السابقة تستخدم أداة Secret Manager لتحميل سلسلة اتصال تكوين التطبيق. للحصول على معلومات تخزن سلسلة الاتصال باستخدام Secret Manager، راجع التشغيل السريع لتكوين تطبيق Azure باستخدام ASP.NET Core.

الأسلوب Select يتم استدعائه. في المرة الأولى، يقوم بتحميل قيم التكوين بدون تسمية. ثم يقوم بتحميل قيم التكوين مع التسمية المطابقة للبيئة الحالية. هذه القيم الخاصة بالبيئة تتجاوز أي قيم مقابلة بدون تسمية. لا تحتاج إلى تعريف قيم خاصة بالبيئة لكل مفتاح. إذا لم يكن للمفتاح قيمة مع تسمية مطابقة للبيئة الحالية، فإنه يستخدم القيمة بدون تسمية.

الاختبار في بيئات مختلفة

افتح launchSettings.json الملف ضمن Properties الدليل. ابحث عن الإدخال config ضمن profiles. في القسم environmentVariables، قم بتعيين المتغير ASPNETCORE_ENVIRONMENT إلى Production.

مع مجموعة القيم الجديدة، أنشئ وشغل التطبيق الخاص بك.

dotnet build
dotnet run

استخدم متصفح ويب للانتقال إلى ⁧http://localhost:5000⁩. ستلاحظ أن لون الخط أسود.

Web application running with production configuration

قم بتحديث launchSettings.json لتعيين المتغير ASPNETCORE_ENVIRONMENT إلى Development. شغّل dotnet run مرة أخرى.

ستلاحظ الآن أن لون الخط أحمر. ذلك لأن التطبيق يستخدم الآن قيمة TestApp:Settings:FontColor التي تحتوي على التسمية Development. جميع قيم التكوين الأخرى تظل هي نفسها قيم الإنتاج الخاصة بها.

Web application running with development configuration

الخطوات التالية