با استفاده از output caching ، نسخه نهائی كد ترجمه شده Html صفحه cache می گردد . زمانی كه صفحه مجددا” و توسط كاربر ديگر درخواست می گردد ، اشياء ايجاد نخواهند شد . همچنين ، چرخه حيات صفحه آغاز نخواهد شد و هيچگونه كدی اجراء نمی گردد . در مقابل ، كد cache شده در اختيار متقاضيان بعدی قرار داده می شود . با توجه به اين كه در روش  output caching  هزينه های بالا سری كد ( پردازش های اضافه )  حذف می گردد ، كارآئی برنامه بطرز محسوسی افزايش خواهد يافت .
برای آشنائی با نحوه عملكرد output caching ، كد زير را كه زمان و تاريخ جاری سيستم را در خروجی نشان می دهد ، بررسی می نمائيم .

 <%@ OutputCache Duration=”20″ VaryByParam=”None” %>
<script runat=”server”>
sub Page_Load(sender as Object, e as EventArgs)
lblDate.Text = “The time is now:<br />”
lblDate.Text &= DateTime.Now.ToString()
end sub
</script>
<asp:Label id=”lblDate” runat=”server” />

متداولترين روش caching يك صفحه ASP.NET  ، درج دايركتيو OutputCache در ابتدای فايل aspx . است . كد  زير نحوه استفاده از دايركتيو فوق را نشان می دهد :

 <%@ OutputCache Duration=”20″ VaryByParam=”None” %>

در دايركتيو فوق از دو خصلت Duration و  VaryByParam  استفاده شده است . خصلت Duration به  ASP.NET اعلام می نمايد كه صفحه را به مدت 20 ثانيه cache نمايد. خصلت VaryByParam  ميزان وابستگی فرآيند caching را به يك و يا چندين پارامتر مشخص می نمايد . در برخی موارد ممكن است اين وابستگی مهم نباشد و مقدار آن None در نظر گرفته شود ( همانند مثال فوق ) .
پس از ذخيره كد فوق در فايلی با نام CacheExample1.aspx و اجراء آن ، نتايج جالب و قابل توجه ای را مشاهده خواهيم كرد . اولين مرتبه ای كه صفحه درخواست می گردد ، تاريخ و زمان جاری در خروجی نمايش داده می شود .در صورتی كه پس از گذشت مدت زمان بسيار كوتاهی صفحه را refresh نمائيم ، خروجی صفحه بهنگام نخواهد شد . در مقابل ، ASP.NET بطور اتوماتيك خروجی نسخه cache شده را ارسال خواهد كرد . وضعيت فوق به مدت 20 ثانيه ادامه خواهد يافت  و پس از اتمام تاريخ مصرف نسخه cache شده ، ASP.NET مجددا” كد صفحه را اجراء و يك نسخه جديد cache را ايجاد و از آن به مدت 20 ثانيه ديگر استفاده خواهد كرد .
شايد بنظر 20 ثانيه زمان زيادی نباشد ولی برای سايتی كه حاوی اطلاعات گسترده ای جهت ارائه به كاربران متعدد است ، اين موضوع می تواند كاملا” متفاوت باشد. به عنوان نمونه ، فرض كنيد می خواهيم ليستی از محصولات قابل عرضه به كاربران را در يك صفحه نمايش دهيم . با caching صفحه به مدت 20 ثانيه ، دستيابی به بانك اطلاعاتی محدود به سه عمليات در يك دقيقه می گردد . بدون caching ، برای هر كاربری كه متقاضی مشاهده ليست محصولات است ، می بايست فرآيند ارتباط با بانك اطلاعاتی و نمايش محصولات در يك ساختار نمايشی مناسب ( نظير Gridview ) انجام شود . بديهی است با caching صفحه به مدت 20 ثانيه امكان پاسخگوئی به ده ها درخواست در مدت زمان فوق و بدون نياز به دنبال كردن فرآيند ارتباط با بانك اطلاعاتی و نمايش داده انجام می شود .
توجه داشته باشيد كه اگر مدت زمان حضور يك نسخه cache  در حافظه 20 ثانيه تعيين شده باشد ، اين بدان معنی نخواهد بود كه واقعا” در طی مدت زمان فوق نسخه cache شده در حافظه وجود خواهد داشت . صفحه مورد نظر ممكن است در اولين فرصتی كه سيستم  به منظور انجام كارهای اساسی تر خود با كمبود حافظه مواجه شود از آن خارج گردد . بدين ترتيب ، پياده كنندگان می توانند با خيالی آسوده  از cache  استفاده نمايند بدون اين كه نگران تاخير در اجرای برنامه به دليل استفاده از عنصر حياتی حافظه توسط cache باشند.
زمانی كه يك صفحه cache شده مجددا” ترجمه می گردد ، ASP.NET بطور اتوماتيك صفحه را از cache خارج می نمايد . بدين ترتيب از بروز مسائلی نظير عدم وجود نسخه بهنگام شده در cache ممانعت بعمل می آيد .
در زمان تست برنامه بهتر است كه caching غير فعال گردد . در زمان استفاده از روش ها و تكنيك های اشكال زدائی نظير  متغيرهای watch  و يا ايجاد نقاط  breakpoint ممكن است با مشكلاتی‌ مواجه شويم . در چنين مواردی در صورتی كه يك نسخه cache شده از صفحه در دسترس باشد ، كد مرتبط با آن در زمان اشكال زدائی اجراء نخواهد شد .

دسته بندی : افزایش درآمد سایت