استخدم التسميات لتوفير قيم التكوين لكل بيئة.
العديد من التطبيقات تحتاج إلى استخدام تكوينات مختلفة لبيئات مختلفة. لنفترض أن التطبيق يحتوي على قيمة تكوين تحدد سلسلة الاتصال لاستخدامها في قاعدة البيانات الخلفية الخاصة به. مطورو التطبيقات يستخدم قاعدة بيانات مختلفة عن تلك المستخدمة في الإنتاج. يجب تغيير سلسلة اتصال قاعدة البيانات التي يستخدمها التطبيق مع انتقال التطبيق من التطوير إلى الإنتاج.
في Azure App Configuration، يمكنك استخدام التسميات لتعريف قيم مختلفة لنفس المفتاح. على سبيل المثال، يمكنك تعريف مفتاح واحد بقيم مختلفة للتطوير والإنتاج. التسمية التي يجب تحميلها يمكن تحديدها عند الاتصال بتكوين التطبيق.
لإظهار هذه الوظيفة، ستقوم بتعديل تطبيق الويب الذي تم إنشاؤه في تشغيل سريع: أنشئ تطبيق ASP.NET Core باستخدام Azure App Configuration لاستخدام إعدادات تكوين مختلفة للتطوير مقابل الإنتاج. أكمل التشغيل السريع قبل المتابعة.
تحديد تسمية عند إضافة قيمة تكوين
في مدخل Microsoft Azure، انتقل إلى مستكشف التكوين، وابحث عن مفتاح TestApp:Settings:FontColor الذي أنشأته في التشغيل السريع. حدد قائمة السياق الخاصة به ثم حدد إضافة قيمة.
في شاشة إضافة قيمة، أدخل قيمةبـ اللون الأحمر وتسميةالتطوير. اترك نوع المحتوى فارغًا. حدد تطبيق.
تحميل قيم التكوين باستخدام تسمية محددة
بشكل افتراضي، يقوم 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
. ستلاحظ أن لون الخط أسود.
قم بتحديث launchSettings.json
لتعيين المتغير ASPNETCORE_ENVIRONMENT
إلى Development
. شغّل dotnet run
مرة أخرى.
ستلاحظ الآن أن لون الخط أحمر. ذلك لأن التطبيق يستخدم الآن قيمة TestApp:Settings:FontColor
التي تحتوي على التسمية Development
. جميع قيم التكوين الأخرى تظل هي نفسها قيم الإنتاج الخاصة بها.
الخطوات التالية
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ