يوفر ASP.NET 2.0 بعض الميزات التقنية الجديدة لتحسين أداء البرنامج. تعد تقنية التخزين المؤقت ميزة مهمة جدًا، فهي توفر آلية تخزين مؤقت جيدة جدًا للبيانات المحلية التي يمكن تخصيصها بسهولة، وبالتالي يمكن تحسين أداء الوصول إلى البيانات بشكل فعال.
التخزين المؤقت لديه عيب ليس من السهل التغلب عليه، وهو مشكلة انتهاء صلاحية البيانات. الموقف الأكثر شيوعًا هو أنه إذا تم تخزين محتوى البيانات في جدول قاعدة البيانات مؤقتًا في ذاكرة الخادم، فمن المحتمل أن يعرض تطبيق الويب بيانات قديمة وغير دقيقة عند تغيير السجلات الموجودة في جدول قاعدة البيانات. بالنسبة لبعض أنواع البيانات، حتى لو كانت المعلومات المعروضة قديمة، فلن يكون التأثير كبيرًا. ومع ذلك، بالنسبة للبيانات ذات المتطلبات الصارمة في الوقت الفعلي، مثل أسعار الأسهم وعروض المزادات وغيرها من المعلومات، فمن غير المقبول عرض بيانات قديمة بعض الشيء.
يدعم ASP.NET 2.0 الأنواع التالية من ذاكرة التخزين المؤقت لإخراج الصفحة المخزنة مؤقتًا. تعد ذاكرة التخزين المؤقت لإخراج الصفحة أبسط آلية للتخزين المؤقت. تقوم هذه الآلية بحفظ محتوى صفحة ASP.NET بالكامل في ذاكرة الخادم. عندما يطلب المستخدم الصفحة، يقوم النظام بإخراج البيانات ذات الصلة من الذاكرة حتى تنتهي صلاحية البيانات المخزنة مؤقتًا. في هذه العملية، يتم إرسال المحتوى المخزن مؤقتًا مباشرة إلى المستخدم دون الحاجة إلى المرور عبر دورة حياة معالجة الصفحة مرة أخرى. عادةً ما يكون التخزين المؤقت لمخرجات الصفحة مفيدًا بشكل خاص للصفحات التي تحتوي على محتوى لا يحتاج إلى تعديل بشكل متكرر، ولكنه يتطلب الكثير من المعالجة لتجميعه حتى الاكتمال. يجب على القراء ملاحظة أن ذاكرة التخزين المؤقت لإخراج الصفحة تخزن كل محتوى الصفحة في الذاكرة وتستخدم لإكمال طلبات العميل.
ذاكرة التخزين المؤقت الجزئية للصفحة
التخزين المؤقت الجزئي للصفحة يعني أن الإخراج يقوم بتخزين أجزاء معينة من الصفحة مؤقتًا بدلاً من تخزين محتوى الصفحة بالكامل مؤقتًا. هناك آليتان لتنفيذ التخزين المؤقت الجزئي للصفحة: الأولى هي وضع جزء الصفحة الذي يجب تخزينه مؤقتًا في عنصر تحكم المستخدم (ملف ascx)، وتعيين وظيفة التخزين المؤقت لعنصر تحكم المستخدم (الصفحة التي تحتوي على عنصر تحكم المستخدم قد أو لا يجوز تعيين التخزين المؤقت). يُشار إلى هذا عادةً باسم "التخزين المؤقت للتحكم". جوهر إعداد ذاكرة التخزين المؤقت للتحكم هو تكوين ذاكرة التخزين المؤقت لعنصر تحكم المستخدم. يتضمن بشكل أساسي الطرق الثلاث التالية: أحدهما هو استخدام التوجيهOutputCache لتعيين وظيفة ذاكرة التخزين المؤقت بشكل تعريفي لتحكم المستخدم، والآخر هو استخدام فئة PartialCachingAttribute في الملف الخلفي لتعيين ذاكرة التخزين المؤقت لتحكم المستخدم؛ هو استخدام فئة ControlCachePolicy لتحديد إعداد ذاكرة التخزين المؤقت لتحكم المستخدم برمجيًا. وبدلاً من ذلك، هناك طريقة تسمى "الاستبدال بعد ذاكرة التخزين المؤقت". هذه الطريقة هي عكس التخزين المؤقت للتحكم، فهي تقوم بتعيين جزء معين من الصفحة بحيث لا يتم تخزينه مؤقتًا. لذلك، على الرغم من تخزين الصفحة بأكملها مؤقتًا، سيتم تخزين المحتوى الذي لم يتم تعيينه للتخزين المؤقت عند طلب الصفحة مرة أخرى. إعادة معالجتها.
ذاكرة التخزين المؤقت لبيانات التطبيق توفر ذاكرة التخزين المؤقت لبيانات التطبيق طريقة برمجية لتخزين البيانات العشوائية في الذاكرة باستخدام أزواج المفاتيح/القيمة. يشبه استخدام ذاكرة التخزين المؤقت للتطبيق استخدام حالة التطبيق. ومع ذلك، على عكس حالة التطبيق، تكون البيانات الموجودة في ذاكرة التخزين المؤقت لبيانات التطبيق متطايرة، أي أنه لا يتم تخزين البيانات في الذاكرة طوال عمر التطبيق بالكامل. وتتمثل ميزة ذاكرة التخزين المؤقت لبيانات التطبيق في أن ASP.NET يدير ذاكرة التخزين المؤقت، مما يؤدي إلى إزالة العناصر من ذاكرة التخزين المؤقت عند انتهاء صلاحيتها أو عدم صلاحيتها أو نفاد الذاكرة. ويمكن أيضًا تكوين ذاكرة التخزين المؤقت للتطبيق لإعلام التطبيق عند إزالة عنصر ما .
تبعية ذاكرة التخزين المؤقت
تتيح لنا تبعيات ذاكرة التخزين المؤقت المخصصة المقدمة في Net 2.0، وخاصة ميزة SqlCacheDependency المستندة إلى MS-SQL Server، تجنب مشكلة "انتهاء صلاحية البيانات" ويمكنها إخطار ذاكرة التخزين المؤقت وإزالة تلك التي انتهت صلاحيتها بناءً على التغييرات في البيانات المقابلة
المؤقت للبيانات
لها أيضًا عيوبها. على سبيل المثال، قد لا يكون المحتوى المعروض هو الأحدث والأكثر دقة، ولهذا السبب، يجب تعيين سياسات التخزين المؤقت المناسبة. وكمثال آخر، يزيد التخزين المؤقت من تعقيد النظام ويجعل من الصعب الاختبار والتصحيح، لذلك يوصى بتطوير التطبيق واختباره دون التخزين المؤقت ثم تمكين خيار التخزين المؤقت أثناء مرحلة تحسين الأداء.