Output Caching در يك سرويس وب
از Output Caching می توان برای متدهای جداگانه در يك سرويس وب نيز استفاده كرد . برای انجام اين كار ، لازم است كه مقدار CacheDuration به WebMethod و قبل از تعريف متد اضافه گردد . كد زير نتايج يك متد وب را به مدت 30 ثانيه cache می نمايد .

 caching داده
 caching داده ، انعطاف پذيرترين نوع caching است كه استفاده از آن مستلزم انجام مراحلی خاص در برنامه است . پياده كنندگان برنامه های وب می توانند با استفاده از پتانسيل فوق آيتم هائی را  كه هزينه ايجاد آنها گران است به شی cache اضافه نمايند .
cache يك خصلت از كلاس صفحه است و نمونه ای از كلاس  System.Web.Caching.Cache را بر می گرداند . عملكرد شی فوق شباهت زيادی با شی Application دارد ( نظير دستيابی به آن در تمامی صفحات توسط سرويس گيرندگان مختلف ) . علی رغم وجود شباهت های زياد ، دو شی Application و Cache دارای تفاوت هائی اساسی با يكديگر می باشند :

  • شی Cache از نوع thread-safe است . اين بدان معنی است كه پياده كنندگان لازم نيست با صراحت عمليات lock و unlock شی cache را قبل از اضافه كردن و يا حذف يك آيتم از cache انجام دهند . به عنوان نمونه ، در صورت ايجاد يك شی سفارشی ممكن است در يك لحظه بيش از يك سرويس گيرنده قصد استفاده از آن را داشته باشند . در چنين مواردی اين احتمال وجود خواهد داشت كه شرايط استفاده از داده غيرمعتبر برای هر يك از سرويس گيرندگان فراهم گردد . برای غلبه بر محدوديت فوق می توان از روش های مختلفی استفاده نمود . ايجاد يك نسخه ديگر از شی به منظور استفاده از آن در يك صفحه ، يكی از ساده ترين راهكارهای موجود در اين زمينه است .
  • آيتم های موجود در شی Cache بطور اتوماتيك از آن حذف می گردند . ASP.NET يك آيتم را پس از اتمام مدت زمان اعتبار آن ، در صورت تغيير يكی از اشياء و يا فايل های وابسته و يا كمبود حافظه سرويس دهنده  از cache خارج می نمايد . اين بدان معنی است كه پياده كنندگان می توانند با خيالی آسوده از cache استفاده نمايند بدون اين كه نگران از دست دادن منبع ارزشمند حافظه باشند  چراكه ASP.NET در صورت نياز آيتم ها را از حافظه خارج خواهد كرد . با توجه به اين كه همواره اين احتمال وجود دارد كه آيتم های ذخيره شده از cache خارج شده باشند می بايست همواره قبل از دستيابی ، موجود بودن آنها در cache بررسی گردد .

 آيتم های موجود در cache از وابستگی ها ( dependencies ) حمايت می نمايند .  پياده كنندگان می توانند يك شی cache شده را به يك فايل  ، يك جدول بانك اطلاعاتی و يا يك منبع ديگر مرتبط نمايند . در صورت بروز تغييرات در منبع وابسته ، شی cache شده بطور اتوماتيك غيرمعتبر می گردد و  در نهايت از حافظه حذف می شود .

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