بداية سريعة: استخدام Azure Cache لـ Redis باستخدام تطبيق ويب ASP.NET

في هذا التشغيل السريع، يمكنك استخدام Visual Studio 2019 لتعديل تطبيق ويب ASP.NET يتصل بذاكرة التخزين المؤقت Azure ل Redis لتخزين البيانات والحصول عليها من ذاكرة التخزين المؤقت. بعد ذلك، يمكنك نشر التطبيق إلى Azure App Service.

التخطي إلى التعليمات البرمجية

توضح هذه المقالة كيفية تعديل التعليمات البرمجية لنموذج التطبيق لإنشاء تطبيق عمل يتصل بذاكرة التخزين المؤقت Azure ل Redis.

إذا كنت تريد الانتقال مباشرة إلى نموذج التعليمات البرمجية، فشاهد نموذج التشغيل السريع ASP.NET على GitHub.

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

إنشاء ذاكرة تخزين مؤقت

بعد ذلك، قم بإنشاء ذاكرة التخزين المؤقت لاستخدامها مع التطبيق.

  1. لإنشاء ذاكرة تخزين مؤقت، سجل الدخول إلى مدخل Microsoft Azure. في قائمة المدخل، حدد Create a resource.

    لقطة شاشة تعرض خيار إنشاء مورد مميز في جزء التنقل الأيمن في مدخل Microsoft Azure.

  2. في جزء بدء الاستخدام ، أدخل Azure Cache for Redis في شريط البحث. في نتائج البحث، ابحث عن ذاكرة التخزين المؤقت Azure ل Redis، ثم حدد إنشاء.

    لقطة شاشة تعرض Azure Marketplace مع ذاكرة التخزين المؤقت Azure ل Redis في مربع البحث، ويتم تمييز الزر إنشاء.

  3. في جزء New Redis Cache ، في علامة التبويب Basics ، قم بتكوين الإعدادات التالية لذاكرة التخزين المؤقت الخاصة بك:

    الإعدادات الإجراء ‏‏الوصف
    الاشتراك حدد اشتراك Azure الخاص بك. الاشتراك الذي يجب استخدامه لإنشاء مثيل جديد من Azure Cache ل Redis.
    مجموعة الموارد حدد مجموعة موارد، أو حدد إنشاء جديد وأدخل اسم مجموعة موارد جديدة. اسم لمجموعة الموارد التي سيتم فيها إنشاء ذاكرة التخزين المؤقت والموارد الأخرى. وعبر وضع جميع موارد التطبيق في مجموعة موارد واحدة، يمكنك إدارتها أو حذفها بسهولة.
    اسم DNS أدخل اسمًا فريدًا. يجب أن يكون اسم ذاكرة التخزين المؤقت سلسلة من 1 إلى 63 حرفا تحتوي فقط على أرقام وأحرف وواصلات. يجب أن يبدأ الاسم وينتهي برقم أو حرف، ولا يمكن أن يحتوي على واصلات متتالية. اسم مضيف مثيل ذاكرة التخزين المؤقت هو \<DNS name>.redis.cache.windows.net.
    Location تحديد الموقع. منطقة Azure بالقرب من الخدمات الأخرى التي تستخدم ذاكرة التخزين المؤقت الخاصة بك.
    ذاكرة التخزين المؤقت SKU حدد SKU. تحدد SKU معلمات الحجم والأداء والميزة المتوفرة لذاكرة التخزين المؤقت. لمزيد من المعلومات، راجع Azure Cache من أجل Redis overview.
    حجم ذاكرة التخزين المؤقت حدد حجم ذاكرة التخزين المؤقت. لمزيد من المعلومات، راجع Azure Cache من أجل Redis overview.
  4. حدد علامة التبويب Networking أو حدد Next: Networking.

  5. في علامة التبويب Networking ، حدد أسلوب اتصال لاستخدامه في ذاكرة التخزين المؤقت.

  6. حدد علامة التبويب خيارات متقدمة أو حدد التالي: خيارات متقدمة.

  7. في الجزء Advanced ، تحقق من أسلوب مصادقة أو حدده استنادا إلى المعلومات التالية:

    لقطة شاشة تعرض جزء Advanced والخيارات المتاحة للتحديد.

    • بشكل افتراضي، بالنسبة إلى ذاكرة التخزين المؤقت الأساسية أو القياسية أو المتميزة الجديدة، يتم تمكين مصادقة Microsoft Entra وتعطيل مصادقة مفاتيح الوصول.
    • بالنسبة لذاكرة التخزين المؤقت الأساسية أو القياسية، يمكنك اختيار التحديد لمنفذ غير TLS.
    • بالنسبة لذاكرة التخزين المؤقت القياسية والمميزة، يمكنك اختيار تمكين مناطق التوفر. لا يمكنك تعطيل مناطق التوفر بعد إنشاء ذاكرة التخزين المؤقت.
    • بالنسبة لذاكرة التخزين المؤقت Premium، قم بتكوين الإعدادات لمنفذ غير TLS والتكتلة والهوية المدارة واستمرارية البيانات.

    هام

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

  8. (اختياري) حدد علامة التبويب Tags أو حدد Next: Tags.

  9. (اختياري) في علامة التبويب Tags ، أدخل اسم علامة وقيمة إذا كنت تريد تصنيف مورد ذاكرة التخزين المؤقت.

  10. انقر فوق زر مراجعة + إنشاء.

    في علامة التبويب Review + create ، يتحقق Azure تلقائيا من صحة التكوين الخاص بك.

  11. بعد ظهور رسالة Validation passed الخضراء، حدد Create.

يحدث نشر ذاكرة التخزين المؤقت الجديدة على مدى عدة دقائق. يمكنك مراقبة تقدم النشر في جزء Azure Cache for Redis Overview. عندما تعرض الحالة قيد التشغيل، تكون ذاكرة التخزين المؤقت جاهزة للاستخدام.

الحصول على اسم المضيف والمنافذ ومفتاح الوصول

للاتصال بخادم Azure Cache for Redis، يحتاج عميل ذاكرة التخزين المؤقت إلى اسم مضيف ذاكرة التخزين المؤقت والمنافذ ومفتاح الوصول. قد يشير بعض العملاء إلى هذه العناصر باستخدام أسماء مختلفة قليلا. يمكنك الحصول على اسم المضيف والمنافذ والمفاتيح في مدخل Microsoft Azure.

  • للحصول على مفتاح وصول لذاكرة التخزين المؤقت:

    1. في مدخل Microsoft Azure، انتقل إلى ذاكرة التخزين المؤقت.
    2. في قائمة الخدمة، ضمن Settings، حدد Authentication.
    3. في جزء Authentication ، حدد علامة التبويب Access keys .
    4. لنسخ قيمة مفتاح وصول، حدد أيقونة نسخ في حقل المفتاح.

    لقطة شاشة توضح كيفية البحث عن مفتاح وصول ونسخه لمثيل Azure Cache for Redis.

  • للحصول على اسم المضيف والمنافذ لذاكرة التخزين المؤقت الخاصة بك:

    1. في مدخل Microsoft Azure، انتقل إلى ذاكرة التخزين المؤقت.
    2. في قائمة الخدمة، حدد Overview.
    3. ضمن Essentials، بالنسبة إلى Host name، حدد رمز Copy لنسخ قيمة اسم المضيف. تحتوي قيمة اسم المضيف على النموذج <DNS name>.redis.cache.windows.net.
    4. بالنسبة إلى المنافذ، حدد الأيقونة نسخ لنسخ قيم المنفذ.

    لقطة شاشة توضح كيفية البحث عن اسم المضيف ومنافذه ونسخها لمثيل Azure Cache ل Redis.

تحرير ملف CacheSecrets.config

  1. على الكمبيوتر، قم بإنشاء ملف باسم CacheSecrets.config. ضع الملف في موقع حيث لا يتم إيداعه باستخدام التعليمات البرمجية المصدر لتطبيق العينة الخاص بك. لهذا التشغيل السريع، يكون ملف CacheSecrets.config في المجلد C:\AppSecrets\ .

  2. قم بتحرير ملف CacheSecrets.config لإضافة المحتوى التالي.

    في التعليمات البرمجية:

    • استبدل <cache-name> باسم مُضيف الذاكرة المؤقتة.

    • استبدل <access-key> بمفتاح الوصول الأساسي لذاكرة التخزين المؤقت.

      تلميح

      يمكنك استخدام مفتاح الوصول الثانوي في أثناء استدارة المفتاح كمفتاح بديل في أثناء إعادة إنشاء مفتاح الوصول الأساسي.

    <appSettings>
        <add key="CacheConnection" value="<cache-name>.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=<access-key>"/>
    </appSettings>
    
  3. حفظ الملف.

تحديث تطبيق MVC

في هذا القسم، يعرض تطبيق model-view-controller (MVC) اختبارا بسيطا للاتصال بذاكرة التخزين المؤقت Azure ل Redis.

كيف يتصل ملف web.config بذاكرة التخزين المؤقت

عند تشغيل التطبيق محليًا، تُستخدم المعلومات في CacheSecrets.config لوصل Azure Cache لمثيل Redis. لاحقاً، يمكنك توزيع هذا التطبيق على Azure. في ذلك الوقت، يمكنك تكوين إعداد تطبيق في Azure يستخدمه التطبيق لاسترداد معلومات اتصال ذاكرة التخزين المؤقت بدلا من استخدام ملف التكوين.

نظرا لعدم نشر ملف CacheSecrets.config إلى Azure مع التطبيق الخاص بك، يمكنك استخدامه فقط عند اختبار التطبيق محليا. احتفظ بهذه المعلومات آمنة قدر الإمكان للمساعدة في منع الوصول الضار إلى بيانات ذاكرة التخزين المؤقت.

تحديث ملف web.config

  1. في مستكشف الحلول، افتح ملف web.config.

    لقطة شاشة تعرض ملف web.config في Visual Studio مستكشف الحلول.

  2. في ملف web.config ، قم بتعيين <appSettings> العنصر لتشغيل التطبيق محليا:

    <appSettings file="C:\AppSecrets\CacheSecrets.config">

يقوم وقت تشغيل ASP.NET بدمج محتويات الملف الخارجي بعلامة العنصر <appSettings>. يتجاهل وقت التشغيل سمة الملف إذا تعذر العثور على الملف المحدد. لا يتم تضمين الأسرار الخاصة بك (سلسلة الاتصال بذاكرة التخزين المؤقت) كجزء من كود المصدر للتطبيق. عند نشر تطبيق الويب إلى Azure، لا يتم نشر ملف CacheSecrets.config.

تثبيت StackExchange.Redis

يتطلب StackExchange.Redis الحل الخاص بك تشغيل الحزمة.

لتثبيت الحزمة StackExchange.Redis :

  1. لتكوين التطبيق لاستخدام حزمة StackExchange.Redis NuGet ل Visual Studio، حدد Tools>NuGet مدير الحِزَم> مدير الحِزَم Console.

  2. في نافذة وحدة التحكم مدير الحِزَم، قم بتشغيل الأمر التالي:

    Install-Package StackExchange.Redis
    

تنزل حزمة NuGet وتضيف مراجع التجميع المطلوبة لتطبيق العميل الخاص بك للوصول إلى ذاكرة التخزين المؤقت Azure ل Redis باستخدام StackExchange.Redis العميل.

الاتصال بذاكرة التخزين المؤقت باستخدام RedisConnection

يتم إدارة الاتصال بذاكرة التخزين المؤقت الخاصة بك من قبل RedisConnectionالفئة. يتم إجراء الاتصال أولا في هذا البيان الموجود في ContosoTeamStats/Controllers/HomeController.cs:

   private static Task<RedisConnection> _redisConnectionFactory = RedisConnection.InitializeAsync(connectionString: ConfigurationManager.AppSettings["CacheConnection"].ToString()););

يتم الوصول إلى قيمة CacheConnection السر باستخدام موفر تكوين Secret Manager ويتم استخدامه كمعلمة كلمة المرور.

في RedisConnection.cs، يمكنك مشاهدة إضافة مساحة الاسم StackExchange.Redis إلى التعليمات البرمجية. RedisConnection تتطلب الفئة مساحة الاسم.

using StackExchange.Redis;

RedisConnection تضمن التعليمات البرمجية وجود اتصال سليم دائما بذاكرة التخزين المؤقت. تتم إدارة الاتصال عبر المثيل ConnectionMultiplexer في StackExchange.Redis. RedisConnection تعيد الفئة إنشاء الاتصال عند فقدان اتصال وتعذر إعادة الاتصال تلقائيا.

لمزيد من المعلومات، راجع StackExchange.Redis والتعليمة البرمجية الموجودة في مستودع GitHub.

التحقق من طرق عرض التخطيط في العينة

يتم تخزين تخطيط الصفحة الرئيسية لهذا النموذج في ملف _Layout.cshtml. من هذه الصفحة، يمكنك بدء اختبار ذاكرة التخزين المؤقت الفعلية عن طريق تحديد Azure Cache for Redis Test في هذه الصفحة.

  1. في مستكشف الحلول، حدد طرق العرض، ثم انقر بزر الماوس الأيمن فوق المجلد المشترك. ثم افتح ملف _Layout.cshtml .

  2. تحقق من أن السطر التالي في <div class="navbar-header">:

    @Html.ActionLink("Azure Cache for Redis Test", "RedisCache", "Home", new { area = "" }, new { @class = "navbar-brand" })
    

    لقطة شاشة تعرض خيارات الترحيب والتنقل على صفحة ويب.

إظهار البيانات من ذاكرة التخزين المؤقت

في الصفحة الرئيسية، حدد Azure Cache for Redis Test في شريط التنقل لمشاهدة إخراج العينة.

  1. في مستكشف الحلول، حدد طرق العرض، ثم انقر بزر الماوس الأيمن فوق المجلد الصفحة الرئيسية.

  2. تحقق من أن التعليمات البرمجية التالية موجودة في ملف RedisCache.cshtml :

    @{
        ViewBag.Title = "Azure Cache for Redis Test";
    }
    
    <h2>@ViewBag.Title.</h2>
    <h3>@ViewBag.Message</h3>
    <br /><br />
    <table border="1" cellpadding="10">
        <tr>
            <th>Command</th>
            <th>Result</th>
        </tr>
        <tr>
            <td>@ViewBag.command1</td>
            <td><pre>@ViewBag.command1Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command2</td>
            <td><pre>@ViewBag.command2Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command3</td>
            <td><pre>@ViewBag.command3Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command4</td>
            <td><pre>@ViewBag.command4Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command5</td>
            <td><pre>@ViewBag.command5Result</pre></td>
        </tr>
    </table>
    

تشغيل التطبيق محليًا

تتم تهيئة المشروع افتراضيًا لاستضافة التطبيق محليًا في IIS Express لغرض الاختبار وتصحيح الأخطاء.

لتشغيل التطبيق محليًّا:

  1. في Visual Studio، اختر Debug>Start Debugging لبناء التطبيق وبدئه محليًا لغرض الاختبار وتصحيح الأخطاء.

  2. في المتصفح، اختر Azure Cache for Redis Test بشريط أدوات التصفح.

  3. في المثال التالي، كانت لدي المفتاح Message مسبقًا قيمة مُخزنة، والتي عُينت باستخدام Azure Cache لوحدة تحكم Redis في البوابة. قام التطبيق بتحديث تلك القيمة المخزنة. قام التطبيق أيضًا بتنفيذ PING وأوامر CLIENT LIST.

    لقطة شاشة تعرض اختبارا بسيطا مكتملا محليا.

النشر والتشغيل في Azure

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

لنشر التطبيق إلى Azure:

  1. في Visual Studio، في مستكشف الحلول، انقر بزر الماوس الأيمن فوق عقدة المشروع وحدد Publish.

    لقطة شاشة تعرض أمر القائمة Publish المميز في Azure.

  2. حدد Microsoft Azure App Service>Create New>Publish.

    لقطة شاشة تعرض خيارات القائمة لتعيينها للنشر إلى App Service.

  3. في المربع الحواري Create App Service، قم بصنع التغييرات التالية:

    الإعدادات الإجراء ‏‏الوصف
    اسم التطبيق استخدم الافتراضي. اسم التطبيق هو اسم المضيف للتطبيق عند نشره في Azure. قد يحتوي الاسم على لاحقة طابع زمني تمت إضافتها إليه لجعل اسم التطبيق فريدا.
    الاشتراك حدد اشتراك Azure الخاص بك. يتم احتساب هذا الاشتراك على أي تكاليف استضافة ذات صلة. إذا كان لديك العديد من اشتراكات Azure، فتحقق من تحديد الاشتراك الذي تريد استخدامه.
    مجموعة الموارد استخدم نفس مجموعة الموارد التي استخدمتها لإنشاء ذاكرة التخزين المؤقت (على سبيل المثال، TestResourceGroup). تساعدك مجموعة الموارد في إدارة كافة الموارد كمجموعة. لاحقا، عندما تريد حذف التطبيق، يمكنك حذف مجموعة الموارد لحذف جميع الموارد ذات الصلة.
    خطة App Service اختر New، ثم قم بإنشاء خدمة تطبيق جديدة اسمها TestingPlan.
    استخدم نفس القيمة للموقع الذي استخدمته عند إنشاء ذاكرة التخزين المؤقت.
    بالنسبة للحجم، حدد مجاني.
    تحدد خطة خدمة التطبيق مجموعة من الموارد المحسوبة كي يعمل تطبيق الويب بواسطتها.

    لقطة شاشة تعرض مربع حوار App Service في Azure.

  4. بعد تكوين إعدادات مضيف App Service، حدد Create.

  5. في نافذة Output، تحقق من حالة النشر. بعد نشر التطبيق، يظهر عنوان URL للتطبيق كإخراج:

    لقطة شاشة تعرض نافذة إخراج النشر في Visual Studio.

إضافة إعداد تطبيق لذاكرة التخزين المؤقت

بعد نشر التطبيق الجديد، أضف إعداد تطبيق جديد في مدخل Microsoft Azure. يخزن هذا الإعداد معلومات اتصال ذاكرة التخزين المؤقت.

لإضافة إعداد التطبيق:

  1. في مدخل Microsoft Azure، أدخل اسم التطبيق في شريط البحث.

    لقطة شاشة تعرض البحث عن تطبيق في مدخل Microsoft Azure.

  2. أضف إعداد تطبيق جديدًا اسمه CacheConnection للتطبيق كي تستخدمه للاتصال مع ذاكرة التخزين المؤقت. استخدم نفس القيمة التي استخدمتها CacheConnection في ملف CacheSecrets.config . تحتوي القيمة على اسم مضيف ذاكرة التخزين المؤقتة ومفتاح الوصول.

    لقطة شاشة تعرض إضافة إعداد تطبيق.

تشغيل التطبيق في Azure

  1. في المتصفح، انتقل إلى عنوان URL للتطبيق. يظهر عنوان URL في نتائج عملية النشر في نافذة Visual Studio Output. كما يظهر في مدخل Microsoft Azure في جزء نظرة عامة لتطبيقك.

  2. في شريط التنقل على صفحة الويب، حدد Azure Cache for Redis Test لاختبار الوصول إلى ذاكرة التخزين المؤقت كما فعلت مع الإصدار المحلي.

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

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

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

تحذير

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

حذف مجموعة موارد

  1. سجل الدخول إلى مدخل Azure، وحدد "Resource groups".

  2. حدد مجموعة الموارد المراد حذفها.

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

    لقطة شاشة تعرض قائمة بمجموعات الموارد للاختيار من بينها للحذف.

  3. حدد Delete resource group.

  4. في جزء حذف مجموعة موارد، أدخل اسم مجموعة الموارد للتأكيد، ثم حدد حذف.

    لقطة شاشة تعرض مربعا يتطلب إدخال اسم المورد لتأكيد الحذف.

في غضون لحظات قليلة، يتم حذف مجموعة الموارد وجميع مواردها.