إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تحتاج العديد من التطبيقات إلى استخدام تكوينات مختلفة لبيئات مختلفة. لنفترض أن التطبيق يحتوي على قيمة تكوين تحدد نقطة النهاية لاستخدامها في قاعدة البيانات الخلفية الخاصة به. يستخدم مطورو التطبيقات قاعدة بيانات مختلفة عن تلك المستخدمة في الإنتاج. يجب أن تتغير نقطة نهاية قاعدة البيانات التي يستخدمها التطبيق أثناء انتقال التطبيق من التطوير إلى الإنتاج.
في تكوين تطبيق Azure، يمكنك استخدام التسميات لتحديد قيم مختلفة لنفس المفتاح. على سبيل المثال، يمكنك تحديد مفتاح واحد بقيم مختلفة للتطوير والإنتاج. يمكنك تحديد التسمية التي تريد تحميلها عند الاتصال بتكوين التطبيق.
لتوضيح هذه الوظيفة، ستقوم بتعديل تطبيق الويب الذي تم إنشاؤه في التشغيل السريع: إنشاء تطبيق ASP.NET Core باستخدام Azure App Configuration لاستخدام إعدادات تكوين مختلفة للتطوير مقابل الإنتاج. أكمل التشغيل السريع قبل المتابعة.
تحديد تصنيف عند إضافة قيمة تكوين
في مدخل Microsoft Azure، انتقل إلى مستكشف التكوين وابحث عن المفتاح TestApp:Settings:FontColor الذي قمت بإنشائه في التشغيل السريع. حدد قائمة السياق الخاصة به ثم حدد إضافة قيمة.
في شاشة إضافة قيمة ، أدخل قيمةحمراءوتسميةالتطوير. اترك نوع المحتوى فارغا. حدد تطبيق.
تحميل قيم التكوين بتسمية محددة
بشكل افتراضي، يقوم Azure App Configuration بتحميل قيم التكوين فقط بدون تسمية. إذا قمت بتعريف تسميات لقيم التكوين الخاصة بك، فستحتاج إلى تحديد التسميات التي تريد استخدامها عند الاتصال بتكوين التطبيق.
في القسم السابق، قمت بإنشاء قيمة تكوين مختلفة لبيئة التطوير. يمكنك استخدام المتغير HostingEnvironment.EnvironmentName لتحديد البيئة التي يعمل فيها التطبيق حاليا ديناميكيا. لمعرفة المزيد، راجع استخدام بيئات متعددة في ASP.NET Core.
أضف مرجعا إلى مساحة الاسم Microsoft.Extensions.Configuration.AzureAppConfiguration للوصول إلى فئتي KeyFilterوLabelFilter .
using Microsoft.Extensions.Configuration.AzureAppConfiguration;
قم بتحميل قيم التكوين مع التسمية المقابلة للبيئة الحالية عن طريق تمرير اسم البيئة إلى Select الطريقة:
var builder = WebApplication.CreateBuilder(args);
builder.Configuration.AddAzureAppConfiguration(options =>
{
string endpoint = Environment.GetEnvironmentVariable("Endpoint");
options.Connect(new Uri(endpoint), new DefaultAzureCredential())
// 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);
});
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 . تظل جميع قيم التكوين الأخرى كما هي قيم الإنتاج الخاصة بها.