@ OutputCache
يتحكم بشكل إلزامي بإخراج نهج لصفحة ASP.NET أو عنصر تحكم مستخدم موجود في صفحة. لمزيد من المعلومات حول إخراج ذاكرة التخزين المؤقت التخزين المؤقت ASP.NET، راجع .
<%@ OutputCache Duration="#ofseconds"
Location="Any | Client | Downstream | Server | None |
ServerAndClient "
Shared="True | False"
VaryByControl="controlname"
VaryByCustom="browser | customstring"
VaryByHeader="headers"
VaryByParam="parametername"
VaryByContentEncoding="encodings"
CacheProfile="cache profile name | ''"
NoStore="true | false"
SqlDependency="database/table name pair | CommandNotification"
%>
السمات
Duration
الوقت بالثواني الذي الصفحة أو عنصر تحكم المستخدم يتم تخزينهم مؤقتاً. إعداد هذه السمة على عنصر تحكم صفحة أو مستخدم يأسس نهج انتهاء صلاحية لاستجابات HTTP من الكائن كما سيتم تلقائياً تخزين الصفحة أو إخراج عنصر تحكم المستخدم مؤقتا.ملاحظة السمة مطلوبة.في حالة عدم تضمينه فإنه يحدث خطأ محلل.
Location
إحدى القيم في تعداد OutputCacheLocation . يكون الإعداد الافتراضي هو Any.ملاحظة هذه السمة غير معتمدة بالنسبة @ OutputCache للتوجيهات المضمنة في عناصر تحكم المستخدم (ملفات .ascx).
CacheProfile
اسم إعدادات ذاكرة التخزين المؤقت لارفاقها مع الصفحة. هذه سمة اختيارية والافتراضيات لسلسلة فارغة ("").ملاحظة هذه السمة غير معتمدة بالنسبة @ OutputCache للتوجيهات المضمنة في عناصر تحكم المستخدم (ملفات .ascx).عند تحديد هذا الخيار على صفحة, يجب أن تتطابق القيمة مع أسماء أحد الإدخالات المتوفرة في outputCacheProfiles عنصر ضمن outputCacheSettings المقطع.إذا لم يتطابق الاسم مع إدخال ملف التعريف، يتم إلقاء استثناء.
NoStore
القيمة المنطقية التي تحدد ما إذا كان يجب منع تخزين ثانوي من المعلومات المخزنة مؤقتًا.ملاحظة هذه السمة غير معتمدة بالنسبة @ OutputCache للتوجيهات المضمنة في عناصر تحكم المستخدم (ملفات .ascx).إعداد هذه السمة لـ true مكافىء للتعليمة البرمجية التالية المنفذة أثناء الطلب:
Response.Cache.SetNoStore();
Shared
قيمة منطقية تحدد ما إذا كان إخراج عنصر تحكم المستخدم يمكن مشاركته مع عدة الصفحات. يكون الإعداد الافتراضي هو false. لمزيد من المعلومات، راجع قسم العلامات.ملاحظة هذه السمة غير معتمدة بالنسبة @ OutputCache للتوجيهات المضمنة في صفحات ASP.NET (ملفات aspx.).
SqlDependency
قيمة السلسلة التي تقوم بتعريف مجموعة من أزواج مكونة من اسم قاعدة بيانات وجدول الذي يعتمد عليه الصفحة أو ذاكرة التخزين المؤقتة لإخراج عنصر تحكم. لاحظ أن SqlCacheDependency الفئة تراقب الجدول في قاعدة بيانات التي يعتمد ذاكرة التخزين المؤقت للإخراج عليها، بحيث يتم عند تحديث عناصر في جدول إزالة هذه العناصر من ذاكرة التخزين المؤقت عند استخدام إقصاء مستند إلى جدول. عند استخدام رسائل الإعلام (في Microsoft SQL Server 2005) مع القيمة CommandNotification ، النهاية SqlDependency يتم استخدام الفئة لتسجيل إعلامات الاستعلام مع SQL Server 2005 الملقم.ملاحظة CommandNotification القيمة للحصول SqlDependency سمة صحيحة تكون صالحة فقط على صفحات ويب (.aspx).عناصر تحكم المستخدم يمكنها فقط استخدام استقصاء مستند إلى جدول مع @ OutputCacheالتوجيه.
VaryByCustom
أي نص يمثل متطلبات إخراج التخزين المؤقت المخصصة. إذا كانت هذه السمة معطاة قيمة browser ، تختلف ذاكرة التخزين المؤقت بواسطة اسم المستعرض و معلومات الإصدار الرئيسي. إذا تم إدخال إدخال سلسلة مخصصة ، يجب تجاوز GetVaryByCustomString الأسلوب في الملف Global.asax في التطبيق الخاص بك.VaryByHeader
يتم استخدام قائمة مفصولة بنقاط رئسية من عناوين HTTP لاختلاف ذاكرة التخزين المؤقتة للإخراج. عندما يتم تعيين هذه السمة إلى العديد من العناوين، ذاكرة التخزين المؤقتة للإخراج تتضمن إصدار مختلف من المستند المطلوب لكل تركيبة من العناوين المحددة.ملاحظة إعداد VaryByHeader السمات يمكن عناصر التخزين المؤقت في كل ذاكرة HTTP الإصدار 1.1, وليس فقط ذاكرة التخزين المؤقت لـ ASP.NET .هذه السمة غير معتمدة بالنسبة @ OutputCache للتوجيهات في عناصر تحكم المستخدم.
VaryByParam
يتم استخدام قائمة مفصولة بنقاط رئسية لاختلاف ذاكرة التخزين المؤقتة للإخراج. افتراضياً، هذه السلاسل تطابق قيمة سلسلة استعلام تم ارسالها مع GET سمات الأسلوب أو معلمة مرسلة باستخدام POST الأسلوب. عندما يتم تعيين هذه السمة إلى العديد من المعلمات، ذاكرة التخزين المؤقتة للإخراج تتضمن إصدار مختلف من المستند المطلوب لكل تركيبة من المعلمات المحددة. تتضمن القيم المحتملة none ، علامة نجمية ( *) ، و أي سلسلة استعلام صالحة أو POST اسم معلمة.تنبيه إما هذه السمة أو VaryByControlالسمة مطلوبة عند استخدام @ OutputCacheموجهاً على صفحات ASP.NET و عناصر تحكم المستخدم.يحدث خطأ محلل إذا فشلت في تضمينه.إذا لم تكن تريد تحديد معلمة ليختلف المحتوى المخزن مؤقتاً قم بتعيين القيمة إلى none.إذا كنت تريد أن تختلف ذاكرة التخزين المؤقت للإخراج من قبل كافة قيم المعلمة قم بتعيين السمة إلى علامة نجمية ( *).
VaryByControl
قائمة مفصولة منقوطة السلاسل المستخدمة لتختلف ذاكرة تخزين مؤقتة لإخراج تحكم المستخدم. تمثل هذه السلاسل ID قيم الخصائص لعناصر تحكم ملقم ASP.NET في عناصر تحكم المستخدم المعلن عنها. لمزيد من المعلومات، راجع التخزين المؤقت أقسام لصفحة ASP.NET.ملاحظة إما هذه السمة أو VaryByParamالسمة مطلوبة عند استخدام @ OutputCacheموجهاً على صفحات ASP.NET و عناصر تحكم المستخدم.
VaryByContentEncodings
قائمة مفصولة منقوطة السلاسل التي يتم استخدامها إلى اختلاف ذاكرة التخزين المؤقتة للإخراج. VaryByContentEncodings استخدام السمة صواب Accept-Encoding يتم تقديم رأس لتحديد استجابات المخزنة مؤقتاً كيفية مختلفة المحتوى ويترجم. للحصول على مزيد من المعلومات حول كيفية تحديد Accept-Encoding العنوان, راجع المقطع 14.3 من بروتوكول نقل نص تشعبي--HTTP/1.1 تحديدات في W3C موقع الويب.
ملاحظات
تعيين قيم ذاكرة التخزين المؤقت لإخراج السفحة هو نفس المعالجة في SetExpires و SetCacheability أساليب خلال Cache الخاصية.
إذا تتطلب صفحة "نماذج ويب" التخويل ليتم تصفحها بواسطة مستخدم, تقوم ذاكرة التخزين المؤقتة للإخراج بتعيين Cache-Control العنوان HTTP إلى private. للحصول على مزيد من المعلومات حول مواضيع هذه راجع التخزين المؤقت صفحات ASP.NET.
إذا قمت بتعيين Shared السمة true ، عنصر تحكم المستخدم المخزن مؤقتاً بحيث يمكن الوصول إليها من قبل "نماذج ويب" المتعددة الصفحات. إذا لم تقم بتعيينها إلى true ، السلوك الافتراضي هو تخزين إصدار واحد من إخراج عنصر تحكم المستخدم لكل صفحة تحتوي على ذلك العنصر لتحكم المستخدم. قد تكون يمكنك حفظ مقداراً كبيراً من الذاكرة عن طريق تمكين Shared السمة. لمزيد من المعلومات، راجع التخزين المؤقت أقسام لصفحة ASP.NET.
مثال
مثال التعليمات البرمجية التالي يوضح كيفية تعيين المدة التي يكون عنصر تحكم الصفحة أو المستخدم الإخراج مؤقتاً.
<%@ OutputCache Duration="100" VaryByParam="none" %>
يوضح المثال التعليمات البرمجية التالي كيفية جعل ذاكرة التخزين المؤقتة لإخراج تقوم بتخزين مؤقت لصفحة أو عنصر تحكم المستخدم بواسطة موقعه ثم عد معلمات النموذج من POST أسلوب النموذج أو من سلسلة الاستعلام. كل طلب HTTP يصل مع معلمة الموقع أو عدد مختلف (أو كلاهما) يتم تخزينه مؤقتاً لمدة عشر ثوانٍ. يتم قبول أية طلبات لاحقة بنفس قيم المعلمة من ذاكرة تخزين مؤقت حتى تنتهي صلاحية الإدخال.
<%@ OutputCache Duration="10" VaryByParam="location;count" %>
راجع أيضًا:
المرجع
قالب النص بناء الجملة التوجيهي