تور لحظه آخری
امروز : جمعه ، 24 اسفند 1403    احادیث و روایات:  امام صادق (ع):صله رحم، انسان را خوش اخلاق، با سخاوت و پاكيزه جان مى‏نمايد و روزى را زياد مى‏كند...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

خرید پرینتر سه بعدی

سایبان ماشین

اجاره سند در شیراز

armanekasbokar

armanetejarat

Future Innovate Tech

آموزشگاه آرایشگری مردانه شفیع رسالت

پی جو مشاغل برتر شیراز

خرید یخچال خارجی

بانک کتاب

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

قیمت فرش

خرید بلیط هواپیما

بلیط اتوبوس پایانه

خرید از چین

خرید از چین

خرید سرور اچ پی ماهان شبکه

خودارزیابی چیست

رزرو هتل خارجی

تولید کننده تخت زیبایی

سی پی کالاف

دوره باریستا فنی حرفه ای

چاکرا

استند تسلیت

کلینیک دندانپزشکی سعادت آباد

پی ال سی زیمنس

دکتر علی پرند فوق تخصص جراحی پلاستیک

تعمیر سرووموتور

تحصیل پزشکی در چین

مجله سلامت و پزشکی

تریلی چادری

خرید یوسی

مهاجرت به استرالیا

ایونا

تعمیرگاه هیوندای

کاشت ابرو با خواب طبیعی

هدایای تبلیغاتی

خرید عسل

صندوق سهامی

تزریق ژل

خرید زعفران مرغوب

تحصیل آنلاین آمریکا

سوالات آیین نامه

سمپاشی سوسک فاضلاب

مبل کلاسیک

بهترین دکتر پروتز سینه در تهران

صندلی گیمینگ

کفش ایمنی و کار

دفترچه تبلیغاتی

خرید سی پی

قالیشویی کرج

سررسید 1404

تقویم رومیزی 1404

ویزای توریستی ژاپن

قالیشویی اسلامشهر

قفسه فروشگاهی

چراغ خطی

ابزارهای هوش مصنوعی

آموزش مکالمه عربی

اینتیتر

استابلایزر

خرید لباس

7 little words daily answers

7 little words daily answers

7 little words daily answers

گوشی موبایل اقساطی

ماساژور تفنگی

قیمت ساندویچ پانل

مجوز آژانس مسافرتی

پنجره دوجداره

خرید رنگ نمای ساختمان

ناب مووی

خرید عطر

قرص اسلیم پلاس

nyt mini crossword answers

مشاوره تبلیغاتی رایگان

دانلود فیلم

 






آمار وبسایت

 تعداد کل بازدیدها : 1865106244




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

Caching in ASP.NET


واضح آرشیو وب فارسی:راسخون:
Caching in ASP.NET
Caching in ASP.NET مقدمه : اکثر صفحات در وب سایتهای پویا، پویا هستند. آنها صفحاتی هستند که از طریق درخواستهای کاربر ساخته شده اند. ما می دانیم که صفحات وب پویا به ما کمک می کنند تا محتوای پویا داشته باشیم، و درخواستهای کاربر را شخصی سازی کنیم ( مثل صفحه خانه کاربر). همچنین صفحات پویا به شما این اجازه را می دهند که بتوانید از طریق واکشی داده از منبع داده بدون نیاز به مدیر، برای تغییر در محتوای صفحه هر بار که چیزی در منبع داده تغییر کند، داده را واکشی کنید. برا ی مثال می توان به لیست کتابها در یک وب سایت ناشر اشاره کرد. عیب این روش سربار در ساخت صفحه برای هر درخواست کاربر می باشد.برای رفع این مشکل، بعضی از وب سیاتها، حاوی موتورهای ساخت صفحه هستند که آنها می توانند تمام صفحات را در آن واحد بسازند و آنها را بعنوان صفحات HTLM ذخیره کنند که بعد از آن به کاربر ارائه می شود. ولی این روش فقط به سناریوهای کمک خواهد کرد که محتوای صفحه برای تمام درخواستها یکی باشد، درست شبیه به دومین مثال بالا. حتی اگر لیست دسته بندی شده ای از کتابها بر مبنای مقادیر Id از طریق querystring فراهم شده باشد، خروجی صفحه برای یک دسته خاص از کتابها برای تمام کاربرها شبیه بهم است.ASP.net از Caching استفاده می کند که به ما کمک خواهد کرد تا این مشکل را حل کنیم. Caching می تواند خروجی که توسط یک صفحه تولید شده را Cache کند ( در حافظه ذخیره کند) و برای درخواست آینده آن را ارائه دهد. باز این در دومین مثالی که زده شد در جایکه محتوای صفحه برای تمام درخواستها یکی باشد، کاربرد دارد. ویژگی Caching در روشهای متعدد قابل شخصی سازیست و ما با آن خواهیم پرداخت. Cash کردن یک صفحه : برای Cash کردن خروجی یک صفحه، ما باید OutputCache را درست در بالای صفحه مشخص کنیم. که در زیر آمده:

همانطور که ملاحظه کردید، این روش دو خصوصیت دارند :- Duration : زمان در واحد ثانیه که نشان میدهد برای چه مدت زمانی خروجی بایدCache شود. وقتیکه زمان به پایان برسد، خروجی Cache شده حذف می شود و محتوای صفحه برای درخواست بعدی تولید می شود.- VaryByParam : این خصوصیت الزامی است و مشخص کننده پارامترهای querystring برای تغییر cache می باشد.در قسمت کدهای بالا ما خصوصیت VaryByParam را با مقدار None مشخص کردیم و آن به این معنی است که محتوای صفحه بدون در نظر گرفتن پارامترهایی که از طریق querystring پاس داده شده، قابل ارائه است.اگر دو درخواست به یک صفحه مشابه با تغییر دادن پارامترهای querystring باشد ، برای مثال : .../PageCachingByParam.aspx?id=12 and .../PageCachingByParam.aspx?id=15] و محتوای صفحه برای هر یک از آنها تولید شده باشد، مراحل انجام کار به شکل زیر است :

محتوای صفحه برای دو درخواست، با زمانی که از طریق خصوصیت duration مشخص شده، Cache خواهد شد. برای مشخص کردن چندین پارامتر، از سمی کالون(;) برای جدا کردن آنها از هم استفاده کنید. اگر ما خصوصیت VaryByParam را بعنوان * تعیین کنیم، محتوای Cache شده برای تمام پارامترهای که از طریق querystring پاس داده شده تغییر خواهد کرد.بعضی از صفحات محتوای متفاوتی را برای مرورگرهای مختلف تولید می کنند. در یک همچین مواقعی، قوانین خاصی برای تغییر دادن خروجی Cache برای مرورگرهای مختلف می باشد. دایرکتیو @OutputCache، باید به شکل زیر تغییر کند :

Cache کردن قسمتی از صفحه : گاهی اوقات ممکن است بخواهیم قسمتی از صفحه را Cache کنیم، برای مثال : ممکن است ما هدری برای صفحه مان داشته باشیم که برای تمام کاربرها یکسان باشد. ممکن است متن یا تصویری در هدر وجود داشته باشد که هر روز عوض می شود، در این مورد، ما می خواهیم هدری که Duration آن یک روز است را Cashe کنیم.راه حل آن به این شکل است که، محتوای هدر را در User Control قرار دهیم و بعد مشخص نماییم که User control باید Cache شود. به این تکنیک fragment caching گویند.برای اینکه مشخص کنیم که User control باید Cashe شود ما از دایرکتیو @OutputCache، به شکل زیر استفاده میکنیم.

با دایرکتیو فوق، محتوای User Control برای زمان مشخص شده از طریق خصوصیت Duration، Cache خواهد شد {10 ثانیه}.بدون توجه به پارامترهای querystring و نوع مرورگر یا ورژن آن، همان خروجی مشابه را خواهیم داشت. Cache کردن داده : ما می توانیم داده را در حافظه ذخیره کنیم و در صفحات مختلف یا برنامه های مختلفی آن را استفاده کنیم. این ویژگی با استفاده از کلاس Cache پیاده سازی می شود.این Cache یک دوره حیاتی دارد که برابر است با دوره حیات برنامه. اشیاء می توانند بعنوان مقادیر زوج نام در Cache ذخیره شوند. یک مقدار String می تواند در Cache درج شود:

مقادیر String ذخیره شده می توانند شبیه به این بازیابی شود.

برای اینکه شیئ در Cache درج کنیم، می توانیم از متد ADD و یا یک متد Insert از کلاس Cache استفاده کنیم. این متدها به ما اجازه می دهند که از ویژگی های قدرتمند کلاس Cache استفاده کنیم. یکی از سربارگذاری های متد Insert به شکل زیر استفاده می شود:

اولین دو پارامتری که وجود دارد کلید هستند و شیئ که می خواهد درج شود. سومین پارامتر از نوع CacheDependency است و به ما کمک می کند که dependency از این مقدار را به فایلی به نام Name.txt تنظیم کنیم، تا هر زمانی که این فایل تغییر کند، مقداری که درCache وجود دارد حذف می شود. ما می توانیم از Null برای نشان دادن هیچ گونه وابستگی یا Dependency استفاده کنیم. چهارمین پارامتر، زمان را مشخص می کند که چه موقع مقدار از Cache حذف شود. و آخرین پارامتر، sliding expiration parameter، نشان دهنده مدت زمانی از آخرین دستیابی به Cache ، که یک آیتم باید از Cache حذف شود.Cache بصورت خودکار زمانی که حافظه سیستم کم باشد، آیتمی را که از همه کمتر استفاده شده، حذف می کند. که به این فرایند Acaveniging گویند. ما می توانیم برای آیتم ها در Cache مقادیر اولویت بندی خاصی را در نظر بگیریم تا از دیگر آیتم ها اولویت بالاتری داشته باشند.

شمارش CacheItemPriority، اعضایی دارد که مقادیر اولولیت بندی به آن اختصاص می دهد. CacheItemPriority.High یک سطحی از اولویت به آیتمی اختصاص می دهد تا بندرت این آیتم از Cache حذف شود. نقاط جذاب : - متد Insert از کلاس Cache، روی هرگونه آیتمی که از قبل وجود داشته بازنویسی می کند.- مقدار اولویت CacheItemPriority.NotRemovable می تواند با متد Cache.Insert برای تنظیم کردن سطح اولویت برای یک آیتم استفاده شود، تا در زمان scavenging از Cache حذف نشود. مترجم : فرزاد شیرزاد معرفي سايت مرتبط با اين مقاله تصاوير زيبا و مرتبط با اين مقاله





این صفحه را در گوگل محبوب کنید

[ارسال شده از: راسخون]
[مشاهده در: www.rasekhoon.net]
[تعداد بازديد از اين مطلب: 1723]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن