كيفية: تحسين الأداء بالتخزين المؤقت لصفحات ASP.NET

ملخص

توضح هذه المقالة كيفية تحسين أداء تطبيقات ASP.NET بالتخزين المؤقت لصفحات ASP.NET بالكامل مع توجيه الصفحة @ OutputCache . يمكنك أيضا توجيه الصفحة @ OutputCache لتخزين أجزاء معينة من صفحة ASP.NET، رغم أن هذه المادة لا تثبت هذا التنفيذ.

متطلبات

توضح القائمة التالية الأجهزة الموصى بها برامج البنية الأساسية للشبكة وحزم الخدمات التي تحتاجها:

  • Microsoft Visual Studio.NET
  • خادم معلومات إنترنت ل Microsoft (IIS) 4.0 أو خدمات معلومات الإنترنت ل Microsoft (IIS) 5.0
تفترض هذه المقالة أنك معتاد على المواضيع التالية:
  • تطبيقات ويب
  • Microsoft ASP.NET

وصف للتقنية

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

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

إنشاء تطبيق ويب ASP.NET التي تستخدم @ OutputCache

في هذا القسم، يمكنك إنشاء تطبيق ويب ASP.NET يستخدم توجيه الصفحة @ OutputCache للتخزين المؤقت للصفحة لفترة زمنية محددة.

  1. اتبع الخطوات لإنشاء تطبيق ويب ASP.NET جديد في Visual Basic.NET التالية:
    1. فتح Visual Studio.NET.
    2. من القائمة ملف، أشر إلى جديد ثم انقر فوق المشروع.
    3. في مربع الحوار مشروع جديد ، انقر فوق مشاريع Visual Basic ضمن أنواع المشاريع، ومن ثم انقر فوق تطبيق ويب ASP.NET ضمن قوالب.
  2. قم بالتبديل إلى طريقة عرض HTML في إطار WebForm1.aspx ثم قم بإضافة التوجيه التالية مباشرة بعد توجيه الصفحة @ :
    <%@ OutputCache Duration="10" VaryByParam="none" %>
    هذه التعليمات البرمجية لتعيين سمة مدة التوجيه @ OutputCache إلى 10 ثوان حيث أن محتويات الصفحة التي تم تخزينها مؤقتاً لمدة 10 ثواني. وبالإضافة إلى ذلك، سمة VaryByParam يتكون من قائمة مفصولة منقوطة السلاسل التي يمكنك استخدامها إلى اختلاف المخزن المؤقت للإخراج استناداً إلى المتغيرات التي تعرف المستخدم. هذه الوظيفة غير خارج نطاق هذه المقالة، حيث تعين التعليمات البرمجية السابق VaryByParam صوتا مقابل لا شيء.
  3. في طريقة عرض HTML للصفحة WebForm1.aspx، أضف التعليمات البرمجية التالية بين فتح علامات إغلاق < النموذج > لإضافة عنصر تحكم التسمية إلى النموذج:
    <asp:Label>Last cached: <%Response.Write(Now())%>
    </asp:Label>

    يمكنك استخدام هذه التسمية لعرض آخر مرة تم تحميل الصفحة. يجب تغيير القيمة في هذه التسمية فقط مرة واحدة كل 10 ثوان، بغض النظر عن عدد المرات التي يتم فيها تحديث الصفحة.
  4. من القائمة ملف ، انقر فوق حفظ.
  5. في بنية القائمة، انقر فوق إنشاء حلول.
  6. انقر نقراً مزدوجاً فوق الصفحة ومن ثم انقر فوق عرض في مستعرض. الإعلام الذي يظهر في تسمية، التي تعرض الوقت الحالي.
  7. قم بتحديث الصفحة عدة مرات. لاحظ أن تغيير التسمية فقط بعد انتهاء الفترة الزمنية الثانية 10.

إتمام سرد التعليمات البرمجية

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1"%><%@ OutputCache Duration="10" VaryByParam="none" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>WebForm1</title>
<meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</head>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:Label>
Last Cached: <%Response.Write(Now())%>
</asp:Label>
</form>
</body>
</html>

ملاحظة: قد تحتاج إلى تعديل السمة في السطر التالي من التعليمات البرمجية عند الضرورة للإشارة إلى اسم المشروع و "نموذج ويب":

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1"%>
تفترض التعليمات البرمجية حاليا المشروع الخاص بك يسمى webapplication1 برمجياً و "نموذج ويب" يسمى WebForm1.

تحقق من أنه يعمل

  1. فتح عدة إطارات المستعرض.
  2. في كل إطار الاستعراض إلى صفحة.aspx كما لو كنت مستخدم نهائي. لاحظ أن كافة الإطارات تعرض في نفس الوقت لمدة 10 ثانية، حتى ولو عدم استعراض للصفحة في نفس الوقت.
  3. بعد 10 ثوان، استعراض أو تحديث الصفحة.aspx. لاحظ أن كافة الإطارات تحديث الوقت.



المراجع

لمزيد من المعلومات، أرجع إلى مواقع Microsoft التالية على الويب:

خصائص

رقم الموضوع: 315896 - آخر مراجعة: 19‏/01‏/2017 - المراجعة: 2

تعليقات