kohyar
New Member
سلام دوستان
امروز می خوام عملیات Caching رو در Asp.net توضیح بدم
اولش باید خدمتتون بگم که هر صفحه در وب سایت های asp.net بصورت پیش فرض در هر بار فراخوانی می بایست یک بار کامپایل بشه و خروجی اطلاعات به کاربر نمایش داده بشه. ولیکن مشکل اینجاست که زمان کامپایل شدن صفحه به زمان نمایش اطلاعات اضافه میشه.
در صورتیکه تعداد مراجعات سایت شما زیاد باشه شما می تونید از خصوصیت caching استفاده کنید و خروجی html هر صفحه رو مدت زمانی در حافظه سرور نگه دارید تا در فراخوانی های بعدی کامپایل مجدد انجام نشود و فقط خروجی صفحه فراخوانی شده رو از حافظه سرور بخونید و به کاربر نمایش بدهید
برای شروع این پروژه ابتدا یک سایت جدید ایجاد کنید و یک لیبل روی یک فرم بگذارید و در کد پس زمینه فرم در Page_Load کد نمایش ساعت را بگذارید
تا اینجا وقتی سایت رو اجراء می کنید در هر بار رفرش صفحه ساعت جاری سیستم با نشان دادن ثانیه نمایش داده می شود. حال می خواهیم کاری کنیم که هر یک دقیقه (60 ثانبه) محتویات لیبل که نشان دهنده زمان جاری سیستم هستش نمایش داده بشه.
در فایل Web.config کد زیر رو اضافه می کنیم
یادتون باشه که کد زیر رو در تگ <system.web> اضافه کنید
تا اینجا شما پروفایل رو با مدت زمان رفرض 60 ثانیه تعریف کردید
حال باید در بالای کد اچ تی ام ال تمامی صفحاتی که قراره خروجی Html شون تو حافظه سرور ذخیره بشه و هر 60 ثانیه کامپایل بشه، کد زیر رو اضافه کنید
نمونه پروژه رو هم رو سایت گذاشتم می تونید از اونجا دانلود کنید
http://netsazeh.com/Project/SavePageInMemory.rar
موفق و موید باشید.
امروز می خوام عملیات Caching رو در Asp.net توضیح بدم
اولش باید خدمتتون بگم که هر صفحه در وب سایت های asp.net بصورت پیش فرض در هر بار فراخوانی می بایست یک بار کامپایل بشه و خروجی اطلاعات به کاربر نمایش داده بشه. ولیکن مشکل اینجاست که زمان کامپایل شدن صفحه به زمان نمایش اطلاعات اضافه میشه.
در صورتیکه تعداد مراجعات سایت شما زیاد باشه شما می تونید از خصوصیت caching استفاده کنید و خروجی html هر صفحه رو مدت زمانی در حافظه سرور نگه دارید تا در فراخوانی های بعدی کامپایل مجدد انجام نشود و فقط خروجی صفحه فراخوانی شده رو از حافظه سرور بخونید و به کاربر نمایش بدهید
برای شروع این پروژه ابتدا یک سایت جدید ایجاد کنید و یک لیبل روی یک فرم بگذارید و در کد پس زمینه فرم در Page_Load کد نمایش ساعت را بگذارید
PHP:
Lbltime.Text = System.DateTime.Now.ToString();
در فایل Web.config کد زیر رو اضافه می کنیم
PHP:
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="AppCache1" enabled="true" duration="60"/>
</outputCacheProfiles>
</outputCacheSettings>
</caching>
تا اینجا شما پروفایل رو با مدت زمان رفرض 60 ثانیه تعریف کردید
حال باید در بالای کد اچ تی ام ال تمامی صفحاتی که قراره خروجی Html شون تو حافظه سرور ذخیره بشه و هر 60 ثانیه کامپایل بشه، کد زیر رو اضافه کنید
PHP:
<%@ outputcache cacheprofile="AppCache1" varybyparam="none" %>
http://netsazeh.com/Project/SavePageInMemory.rar
موفق و موید باشید.
آخرین ویرایش: