بداية سريعة: استخدام Azure Cache لـ Redis باستخدام تطبيق ويب ASP.NET
في هذا التشغيل السريع، يمكنك استخدام Visual Studio 2019 لتعديل تطبيق ويب ASP.NET يتصل بذاكرة التخزين المؤقت Azure ل Redis لتخزين البيانات والحصول عليها من ذاكرة التخزين المؤقت. بعد ذلك، يمكنك نشر التطبيق إلى Azure App Service.
التخطي إلى التعليمات البرمجية
توضح هذه المقالة كيفية تعديل التعليمات البرمجية لنموذج التطبيق لإنشاء تطبيق عمل يتصل بذاكرة التخزين المؤقت Azure ل Redis.
إذا كنت تريد الانتقال مباشرة إلى نموذج التعليمات البرمجية، فشاهد نموذج التشغيل السريع ASP.NET على GitHub.
المتطلبات الأساسية
- اشتراك Azure. إنشاء واحد مجانا
- Visual Studio 2019 مُزود بـ ASP.NET وتطوير الويب وتطوير Azure.
إنشاء ذاكرة تخزين مؤقت
بعد ذلك، قم بإنشاء ذاكرة التخزين المؤقت لاستخدامها مع التطبيق.
لإنشاء ذاكرة تخزين مؤقت، سجل الدخول إلى مدخل Microsoft Azure. في قائمة المدخل، حدد Create a resource.
في جزء بدء الاستخدام ، أدخل Azure Cache for Redis في شريط البحث. في نتائج البحث، ابحث عن ذاكرة التخزين المؤقت Azure ل Redis، ثم حدد إنشاء.
في جزء 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. حدد علامة التبويب Networking أو حدد Next: Networking.
في علامة التبويب Networking ، حدد أسلوب اتصال لاستخدامه في ذاكرة التخزين المؤقت.
حدد علامة التبويب خيارات متقدمة أو حدد التالي: خيارات متقدمة.
في الجزء Advanced ، تحقق من أسلوب مصادقة أو حدده استنادا إلى المعلومات التالية:
- بشكل افتراضي، بالنسبة إلى ذاكرة التخزين المؤقت الأساسية أو القياسية أو المتميزة الجديدة، يتم تمكين مصادقة Microsoft Entra وتعطيل مصادقة مفاتيح الوصول.
- بالنسبة لذاكرة التخزين المؤقت الأساسية أو القياسية، يمكنك اختيار التحديد لمنفذ غير TLS.
- بالنسبة لذاكرة التخزين المؤقت القياسية والمميزة، يمكنك اختيار تمكين مناطق التوفر. لا يمكنك تعطيل مناطق التوفر بعد إنشاء ذاكرة التخزين المؤقت.
- بالنسبة لذاكرة التخزين المؤقت Premium، قم بتكوين الإعدادات لمنفذ غير TLS والتكتلة والهوية المدارة واستمرارية البيانات.
هام
للحصول على الأمان الأمثل، نوصي باستخدام معرف Microsoft Entra مع الهويات المدارة لتخويل الطلبات مقابل ذاكرة التخزين المؤقت إذا أمكن. يوفر التخويل باستخدام معرف Microsoft Entra والهويات المدارة أمانا فائقا وسهولة استخدام عبر تخويل مفتاح الوصول المشترك. لمزيد من المعلومات حول استخدام الهويات المدارة مع ذاكرة التخزين المؤقت، راجع استخدام معرف Microsoft Entra لمصادقة ذاكرة التخزين المؤقت.
(اختياري) حدد علامة التبويب Tags أو حدد Next: Tags.
(اختياري) في علامة التبويب Tags ، أدخل اسم علامة وقيمة إذا كنت تريد تصنيف مورد ذاكرة التخزين المؤقت.
انقر فوق زر مراجعة + إنشاء.
في علامة التبويب Review + create ، يتحقق Azure تلقائيا من صحة التكوين الخاص بك.
بعد ظهور رسالة Validation passed الخضراء، حدد Create.
يحدث نشر ذاكرة التخزين المؤقت الجديدة على مدى عدة دقائق. يمكنك مراقبة تقدم النشر في جزء Azure Cache for Redis Overview. عندما تعرض الحالة قيد التشغيل، تكون ذاكرة التخزين المؤقت جاهزة للاستخدام.
الحصول على اسم المضيف والمنافذ ومفتاح الوصول
للاتصال بخادم Azure Cache for Redis، يحتاج عميل ذاكرة التخزين المؤقت إلى اسم مضيف ذاكرة التخزين المؤقت والمنافذ ومفتاح الوصول. قد يشير بعض العملاء إلى هذه العناصر باستخدام أسماء مختلفة قليلا. يمكنك الحصول على اسم المضيف والمنافذ والمفاتيح في مدخل Microsoft Azure.
للحصول على مفتاح وصول لذاكرة التخزين المؤقت:
- في مدخل Microsoft Azure، انتقل إلى ذاكرة التخزين المؤقت.
- في قائمة الخدمة، ضمن Settings، حدد Authentication.
- في جزء Authentication ، حدد علامة التبويب Access keys .
- لنسخ قيمة مفتاح وصول، حدد أيقونة نسخ في حقل المفتاح.
للحصول على اسم المضيف والمنافذ لذاكرة التخزين المؤقت الخاصة بك:
- في مدخل Microsoft Azure، انتقل إلى ذاكرة التخزين المؤقت.
- في قائمة الخدمة، حدد Overview.
- ضمن Essentials، بالنسبة إلى Host name، حدد رمز Copy لنسخ قيمة اسم المضيف. تحتوي قيمة اسم المضيف على النموذج
<DNS name>.redis.cache.windows.net
. - بالنسبة إلى المنافذ، حدد الأيقونة نسخ لنسخ قيم المنفذ.
تحرير ملف CacheSecrets.config
على الكمبيوتر، قم بإنشاء ملف باسم CacheSecrets.config. ضع الملف في موقع حيث لا يتم إيداعه باستخدام التعليمات البرمجية المصدر لتطبيق العينة الخاص بك. لهذا التشغيل السريع، يكون ملف CacheSecrets.config في المجلد C:\AppSecrets\ .
قم بتحرير ملف 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>
حفظ الملف.
تحديث تطبيق MVC
في هذا القسم، يعرض تطبيق model-view-controller (MVC) اختبارا بسيطا للاتصال بذاكرة التخزين المؤقت Azure ل Redis.
كيف يتصل ملف web.config بذاكرة التخزين المؤقت
عند تشغيل التطبيق محليًا، تُستخدم المعلومات في CacheSecrets.config لوصل Azure Cache لمثيل Redis. لاحقاً، يمكنك توزيع هذا التطبيق على Azure. في ذلك الوقت، يمكنك تكوين إعداد تطبيق في Azure يستخدمه التطبيق لاسترداد معلومات اتصال ذاكرة التخزين المؤقت بدلا من استخدام ملف التكوين.
نظرا لعدم نشر ملف CacheSecrets.config إلى Azure مع التطبيق الخاص بك، يمكنك استخدامه فقط عند اختبار التطبيق محليا. احتفظ بهذه المعلومات آمنة قدر الإمكان للمساعدة في منع الوصول الضار إلى بيانات ذاكرة التخزين المؤقت.
تحديث ملف web.config
في مستكشف الحلول، افتح ملف web.config.
في ملف web.config ، قم بتعيين
<appSettings>
العنصر لتشغيل التطبيق محليا:<appSettings file="C:\AppSecrets\CacheSecrets.config">
يقوم وقت تشغيل ASP.NET بدمج محتويات الملف الخارجي بعلامة العنصر <appSettings>
. يتجاهل وقت التشغيل سمة الملف إذا تعذر العثور على الملف المحدد. لا يتم تضمين الأسرار الخاصة بك (سلسلة الاتصال بذاكرة التخزين المؤقت) كجزء من كود المصدر للتطبيق. عند نشر تطبيق الويب إلى Azure، لا يتم نشر ملف CacheSecrets.config.
تثبيت StackExchange.Redis
يتطلب StackExchange.Redis
الحل الخاص بك تشغيل الحزمة.
لتثبيت الحزمة StackExchange.Redis
:
لتكوين التطبيق لاستخدام حزمة StackExchange.Redis NuGet ل Visual Studio، حدد Tools>NuGet مدير الحِزَم> مدير الحِزَم Console.
في نافذة وحدة التحكم مدير الحِزَم، قم بتشغيل الأمر التالي:
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 في هذه الصفحة.
في مستكشف الحلول، حدد طرق العرض، ثم انقر بزر الماوس الأيمن فوق المجلد المشترك. ثم افتح ملف _Layout.cshtml .
تحقق من أن السطر التالي في
<div class="navbar-header">
:@Html.ActionLink("Azure Cache for Redis Test", "RedisCache", "Home", new { area = "" }, new { @class = "navbar-brand" })
إظهار البيانات من ذاكرة التخزين المؤقت
في الصفحة الرئيسية، حدد Azure Cache for Redis Test في شريط التنقل لمشاهدة إخراج العينة.
في مستكشف الحلول، حدد طرق العرض، ثم انقر بزر الماوس الأيمن فوق المجلد الصفحة الرئيسية.
تحقق من أن التعليمات البرمجية التالية موجودة في ملف 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 لغرض الاختبار وتصحيح الأخطاء.
لتشغيل التطبيق محليًّا:
في Visual Studio، اختر Debug>Start Debugging لبناء التطبيق وبدئه محليًا لغرض الاختبار وتصحيح الأخطاء.
في المتصفح، اختر Azure Cache for Redis Test بشريط أدوات التصفح.
في المثال التالي، كانت لدي المفتاح
Message
مسبقًا قيمة مُخزنة، والتي عُينت باستخدام Azure Cache لوحدة تحكم Redis في البوابة. قام التطبيق بتحديث تلك القيمة المخزنة. قام التطبيق أيضًا بتنفيذPING
وأوامرCLIENT LIST
.
النشر والتشغيل في Azure
بعد اختبار التطبيق محليًا بنجاح، يمكنك نشر التطبيق إلى Azure وتشغيله في السحابة.
لنشر التطبيق إلى Azure:
في Visual Studio، في مستكشف الحلول، انقر بزر الماوس الأيمن فوق عقدة المشروع وحدد Publish.
حدد Microsoft Azure App Service>Create New>Publish.
في المربع الحواري Create App Service، قم بصنع التغييرات التالية:
الإعدادات الإجراء الوصف اسم التطبيق استخدم الافتراضي. اسم التطبيق هو اسم المضيف للتطبيق عند نشره في Azure. قد يحتوي الاسم على لاحقة طابع زمني تمت إضافتها إليه لجعل اسم التطبيق فريدا. الاشتراك حدد اشتراك Azure الخاص بك. يتم احتساب هذا الاشتراك على أي تكاليف استضافة ذات صلة. إذا كان لديك العديد من اشتراكات Azure، فتحقق من تحديد الاشتراك الذي تريد استخدامه. مجموعة الموارد استخدم نفس مجموعة الموارد التي استخدمتها لإنشاء ذاكرة التخزين المؤقت (على سبيل المثال، TestResourceGroup). تساعدك مجموعة الموارد في إدارة كافة الموارد كمجموعة. لاحقا، عندما تريد حذف التطبيق، يمكنك حذف مجموعة الموارد لحذف جميع الموارد ذات الصلة. خطة App Service اختر New، ثم قم بإنشاء خدمة تطبيق جديدة اسمها TestingPlan.
استخدم نفس القيمة للموقع الذي استخدمته عند إنشاء ذاكرة التخزين المؤقت.
بالنسبة للحجم، حدد مجاني.تحدد خطة خدمة التطبيق مجموعة من الموارد المحسوبة كي يعمل تطبيق الويب بواسطتها. بعد تكوين إعدادات مضيف App Service، حدد Create.
في نافذة Output، تحقق من حالة النشر. بعد نشر التطبيق، يظهر عنوان URL للتطبيق كإخراج:
إضافة إعداد تطبيق لذاكرة التخزين المؤقت
بعد نشر التطبيق الجديد، أضف إعداد تطبيق جديد في مدخل Microsoft Azure. يخزن هذا الإعداد معلومات اتصال ذاكرة التخزين المؤقت.
لإضافة إعداد التطبيق:
في مدخل Microsoft Azure، أدخل اسم التطبيق في شريط البحث.
أضف إعداد تطبيق جديدًا اسمه CacheConnection للتطبيق كي تستخدمه للاتصال مع ذاكرة التخزين المؤقت. استخدم نفس القيمة التي استخدمتها
CacheConnection
في ملف CacheSecrets.config . تحتوي القيمة على اسم مضيف ذاكرة التخزين المؤقتة ومفتاح الوصول.
تشغيل التطبيق في Azure
في المتصفح، انتقل إلى عنوان URL للتطبيق. يظهر عنوان URL في نتائج عملية النشر في نافذة Visual Studio Output. كما يظهر في مدخل Microsoft Azure في جزء نظرة عامة لتطبيقك.
في شريط التنقل على صفحة الويب، حدد Azure Cache for Redis Test لاختبار الوصول إلى ذاكرة التخزين المؤقت كما فعلت مع الإصدار المحلي.
تنظيف الموارد
إذا كنت تريد الاستمرار في استخدام الموارد التي قمت بإنشائها في هذه المقالة، فاحتفظ بمجموعة الموارد.
وإلا، لتجنب الرسوم المتعلقة بالموارد، إذا انتهيت من استخدام الموارد، يمكنك حذف مجموعة موارد Azure التي قمت بإنشائها.
تحذير
حذف مجموعة الموارد لا يمكن التراجع عنه. عند حذف مجموعة موارد، يتم حذف كافة الموارد في مجموعة الموارد نهائيا. تأكد من عدم حذف مجموعة الموارد الخاطئة أو الموارد غير الصحيحة بطريق الخطأ. إذا قمت بإنشاء الموارد داخل مجموعة موارد موجودة تحتوي على موارد تريد الاحتفاظ بها، يمكنك حذف كل مورد على حدة بدلا من حذف مجموعة الموارد.
حذف مجموعة موارد
سجل الدخول إلى مدخل Azure، وحدد "Resource groups".
حدد مجموعة الموارد المراد حذفها.
إذا كان هناك العديد من مجموعات الموارد، في تصفية لأي حقل، أدخل اسم مجموعة الموارد التي قمت بإنشائها لإكمال هذه المقالة. في قائمة نتائج البحث، حدد مجموعة الموارد.
حدد Delete resource group.
في جزء حذف مجموعة موارد، أدخل اسم مجموعة الموارد للتأكيد، ثم حدد حذف.
في غضون لحظات قليلة، يتم حذف مجموعة الموارد وجميع مواردها.