اين روش بر روي سايت هايي با حجم بالا نتيجه چشم گيري داره(لوستر بايد چشمگير باشه!)
اگه شما صفحه اي که شامل نمايش محصولات هست رو 20 ثانيه کش کنيد يعني تعداد عملايت را محدود کرده ايد(حدود 3 فرمان در دقيقه(
بدون کش به ازاي هر فرمان يک بار بايد به سرور مراجعه شود
البته اين بدان معني نيست .!(کدوم معني؟)
اگر سيستم مبع داده را ضعيف ببينه آن را release ميکنه
با وجود اين خاصيت مي توانيم بدون ترس از کش استفاده کنيم
در قسمت اول در مورد varybyparam صحبت نکردم.کسي هم نپرسيد!
ما مقدار آن را برابر None قرار داديم
اين بدان معناست که شما احتياج به نگهداري يک کپي از صفحه را داريد.
حالا تصور کنيد ورود به آن صفحه با querystring باشد.
به نظر شما آيا کش براي يک کاري به اين پويايي کاربرد داره؟
وقتي که اطلاعات را به کوئري استرينگ وارد شويد.صفحاتي که در کش داريد expire ميشوند.
براي اين منظور مقدار varybyparam attribute را برابر "*"
وقتي اطلاعات را مي فرستيم asp.net ابتتدا querystring را امتحان مي کند که آيا با قبلي يکي است و اگر بله آيا داخل کش است يا نه.
اگه جواب هردو درست باشد صفحه از کش ارسال مي شود در غير اين صورت يک کپي جديد داخل کش گذاشته ميشود.
modify کردن cache :
<%@ outpucache duration="30" cacheprofile="pro1" varybyparam="None" %>
in web config :
<system.web>
<caching>
<outputcachesetting>
<outputcacheprofile>
<add name="pro1" duration="60" />
</outputcacheprofile>
</outputcachesetting>
</caching>
</system.web>