التشغيل السريع: إنشاء تطبيق .NET Core فيAzure App Configuration

في هذا التشغيل السريع، ستستخدم Azure App Configuration لإضفاء الطابع الخارجي على التخزين وإدارة إعدادات التطبيق لتطبيق ASP.NET Core. يقوم ASP.NET Core بإنشاء كائن تكوين واحد يستند إلى قيمة المفتاح باستخدام إعدادات من موفر تكوين واحد أو أكثر. يوفر App Configuration مكتبة موفر تكوين .NET. لذلك، يمكنك استخدام App Configuration كمصدر تكوين إضافي لتطبيقك. إذا كان لديك تطبيق موجود، لبدء استخدام App Configuration، فستحتاج فقط إلى بعض التغييرات الصغيرة على التعليمات البرمجية لبدء تشغيل التطبيق.

المتطلبات الأساسية

تلميح

Azure Cloud Shell هو عبارة عن غلاف تفاعلي مجاني يمكنك استخدامه لتنفيذ تعليمات سطر الأوامر الواردة في هذه المقالة. يحتوي على أدوات Azure الشائعة المثبتة مسبقا، بما في ذلك .NET SDK. إذا قمت بتسجيل الدخول إلى اشتراك Azure الخاص بك، فشغل Azure Cloud Shell من shell.azure.com. يمكنك معرفة المزيد عن Azure Cloud Shell من خلال قراءة وثائقنا ذات الصلة

إضافة قيم المفاتيح

أضف قيم المفاتيح التالية إلى متجر App Configuration واترك Label و Content Type بقيمهما الافتراضية. لمزيد من المعلومات حول كيفية إضافة قيم المفاتيح إلى مخزن باستخدام مدخل Microsoft Azure أو CLI، انتقل إلى إنشاء قيمة مفتاح.

مفتاح القيمة
TestApp:الإعدادات:BackgroundColor white
TestApp:الإعدادات:FontColor black
TestApp:Settings:FontSize 24
TestApp:الإعدادات:Message البيانات من Azure App Configuration

قم بإنشاء تطبيق ويب ASP.NET Core

استخدم واجهة سطر الأوامر .NET (CLI) لإنشاء مشروع تطبيق ويب جديد ASP.NET Core. يوفر Azure Cloud Shell هذه الأدوات لك. ومتوفرة أيضًا عبر منصات Windows و.macOS ،Linux

قم بتشغيل الأمر التالي لإنشاء تطبيق ويب ASP.NET Core في مجلد TestAppConfig جديد:

dotnet new webapp --output TestAppConfig --framework net6.0

الاتصال بمتجر App Configuration

  1. انتقل إلى دليل المشروع TestAppConfig، وقم بتشغيل الأمر التالي لإضافة مرجع حزمة Microsoft.Azure.AppConfiguration.AspNetCore NuGet:

    dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore
    
  2. قم بتشغيل الأمر التالي. يستخدم الأمر Secret Manager لتخزين سر يسمى ConnectionStrings:AppConfig، والذي يخزن سلسلة الاتصال لمتجر App Configuration. استبدل العنصر النائب <your_connection_string> بسلسلة اتصال متجر تكوين التطبيق. يمكنك العثور على سلسلة الاتصال ضمن Access Keys من متجر App Configuration في مدخل Microsoft Azure.

    dotnet user-secrets init
    dotnet user-secrets set ConnectionStrings:AppConfig "<your_connection_string>"
    

    تلميح

    ستقوم بعض الأغلفة باقتطاع سلسلة الاتصال ما لم تكن مضمنة في علامات الاقتباس. تأكد من dotnet user-secrets list أن إخراج الأمر يظهر سلسلة الاتصال بأكمله. إذا لم يكن كذلك، فأعد تشغيل الأمر مع إرفاق سلسلة الاتصال في الاقتباس.

    يخزن Secret Manager البيانات السرية خارج شجرة المشروع، مما يساعد على منع المشاركة العرضية للبيانات السرية داخل التعليمات البرمجية المصدر. يتم استخدامه فقط لاختبار تطبيق الويب محليا. عند نشر التطبيق في Azure مثل App Service، استخدم سلاسل الاتصال ion أو إعدادات التطبيق أو متغيرات البيئة لتخزين سلسلة الاتصال. بدلا من ذلك، لتجنب سلسلة الاتصال معا، يمكنك الاتصال ب App Configuration باستخدام الهويات المدارة أو هويات Microsoft Entra الأخرى.

  3. افتح Program.cs وأضف Azure App Configuration كمصدر تكوين إضافي عن طريق استدعاء AddAzureAppConfiguration الأسلوب .

    var builder = WebApplication.CreateBuilder(args);
    
    // Retrieve the connection string
    string connectionString = builder.Configuration.GetConnectionString("AppConfig");
    
    // Load configuration from Azure App Configuration
    builder.Configuration.AddAzureAppConfiguration(connectionString);
    
    // The rest of existing code in program.cs
    // ... ...
    

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

القراءة من متجر App Configuration

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

  1. أضف ملف الإعدادات.cs في جذر دليل المشروع. وهو يحدد فئة مكتوبة Settings بقوة للتكوين الذي ستستخدمه. قم باستبدال مساحة الاسم باسم المشروع الخاص بك.

    namespace TestAppConfig
    {
        public class Settings
        {
            public string BackgroundColor { get; set; }
            public long FontSize { get; set; }
            public string FontColor { get; set; }
            public string Message { get; set; }
        }
    }
    
  2. ربط المقطع في TestApp:Settings التكوين بالعنصر Settings .

    تحديث Program.cs باستخدام التعليمات البرمجية التالية وإضافة TestAppConfig مساحة الاسم في بداية الملف.

    using TestAppConfig;
    
    // Existing code in Program.cs
    // ... ...
    
    builder.Services.AddRazorPages();
    
    // Bind configuration "TestApp:Settings" section to the Settings object
    builder.Services.Configure<Settings>(builder.Configuration.GetSection("TestApp:Settings"));
    
    var app = builder.Build();
    
    // The rest of existing code in program.cs
    // ... ...
    
  3. افتح Index.cshtml.cs في دليل Pages ، وقم بتحديث IndexModel الفئة بالتعليمات البرمجية التالية. using Microsoft.Extensions.Options أضف مساحة الاسم في بداية الملف، إذا لم تكن موجودة بالفعل.

    public class IndexModel : PageModel
    {
        private readonly ILogger<IndexModel> _logger;
    
        public Settings Settings { get; }
    
        public IndexModel(IOptionsSnapshot<Settings> options, ILogger<IndexModel> logger)
        {
            Settings = options.Value;
            _logger = logger;
        }
    }
    
  4. افتح Index.cshtml في دليل Pages ، وقم بتحديث المحتوى بالتعليمات البرمجية التالية.

    @page
    @model IndexModel
    @{
        ViewData["Title"] = "Home page";
    }
    
    <style>
        body {
            background-color: @Model.Settings.BackgroundColor;
        }
    
        h1 {
            color: @Model.Settings.FontColor;
            font-size: @(Model.Settings.FontSize)px;
        }
    </style>
    
    <h1>@Model.Settings.Message</h1>
    

يوصى بإنشاء التطبيق وتشغيله محليًا

  1. لإنشاء التطبيق باستخدام .NET CLI، انتقل إلى الدليل الجذر لمشروعك. تشغيل الأمر التالي في أمر shell:

    dotnet build
    
  2. بعد اكتمال الإنشاء بنجاح، قم بتشغيل الأمر التالي لتشغيل تطبيق الويب محليًا:

    dotnet run
    
  3. يحتوي إخراج الأمر على dotnet run عنواني URL. افتح مستعرضا وانتقل إلى أي من عناوين URL هذه للوصول إلى التطبيق الخاص بك. على سبيل المثال: https://localhost:5001.

    إذا كنت تعمل في Azure Cloud Shell، فحدد الزر Web Preview متبوعاً بـ Configure. عند مطالبتك بتكوين المنفذ للمعاينة، أدخل 5000، وحدد فتح واستعراض.

    Screenshot of Azure Cloud Shell. Locate Web Preview.

    تبدو صفحة الويب كما يلي: Screenshot of the browser.Launching quickstart app locally.

تنظيف الموارد

إذا كنت لا تريد مواصلة استخدام الموارد التي تم إنشاؤها في هذه المقالة، يوصى بحذف مجموعة الموارد التي أنشأتها هنا لتجنب الرسوم.

هام

حذف مجموعة الموارد لا يمكن التراجع عنه. يتم حذف مجموعة الموارد وجميع الموارد المضمنة فيها نهائيًا. تأكد من عدم حذفك للموارد أو مجموعة المورد الخاطئة عن غير قصد. في حالة إنشاء الموارد لهذه المقالة داخل مجموعة موارد تشتمل على موارد أخرى تريد الاحتفاظ بها، احذف كل مورد على حدة من الجزء الخاص به بدلًا من حذف مجموعة الموارد.

  1. سجل الدخول إلى مدخل Microsoft Azure، وحدد Resource groups.
  2. في المربع تصفية حسب الاسم ، أدخل اسم مجموعة الموارد الخاصة بك.
  3. في قائمة النتائج، حدد اسم مجموعة الموارد لاستعراض نظرة عامة.
  4. حدد Delete resource group.
  5. يُطلب منك تأكيد حذف مجموعة الموارد. أدخل اسم مجموعة الموارد للتأكيد وحدد "Delete".

بعد بضع لحظات، يتم حذف مجموعة الموارد وكافة مواردها.

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

في هذه البداية السريعة، قمت بـ:

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

لمعرفة كيفية تكوين تطبيق الويب ASP.NET Core لتحديث إعدادات التكوين ديناميكيا، تابع البرنامج التعليمي التالي.