PDA

View Full Version : چگونگی قرارگیری صفحه ها در حافظه



hamhik
شنبه 14 بهمن 1385, 19:42 عصر
با سلام
من می خواستم بدونم که وقتی ما یک صفحه رو اجرا می کنیم هنگامی که اجرا می شه در حافظه بارگذاری می شه حالا شما فرض کنید که ما روی یه صفحه مون یک دکمه داریم که با کلیک رو دکمه و از طریق دستور redirect به صفحه ی دیگری می رویم آیا با رفتن به صفحه دیگر هنوز اولین صفحه در حافظه قرار داره یا نه؟؟؟
البته من فکر می کنم با رفتن به صفحه ی دوم هنوز هم صفحه ی اول در حافظه هست و به نظر من تنها زمانی می تونیم بگیم از حافظه خارج شده که اون صفحه رو با کلیک بر روی دکمه close ببندیم چون اصلا منطقی نیست که با رفتن به صفحه ی دوم صفحه ای اول از حافظه خارج بشه.آیا چنین چیزی به نظر شما صحیح هست؟؟
خب حالا فرض کنیم یه سایت 40 صفحه داشته باشه و ما این 40 صفحه رو از طریق لینک و ... باز کنیم آیا بعد از رفتن از یک صفحه به صفحه ی دیگر(منظور 40 صفحه) ما 40 صفحه در حافظه داریم؟؟؟یا غیر از اینه؟؟
اگه غیر از اینه به طور منطقی علتشو بگید

hamhik
شنبه 14 بهمن 1385, 23:33 عصر
دوستان کمک کنید

Alireza_Salehi
یک شنبه 15 بهمن 1385, 00:09 صبح
البته من در مورد این که دقیقا مدل حافظه وب سرور تحقیق نکردم ولی تا جایی که از مشخصات ASP.NET و فن آوری های قبل از آن فهمیدم اینه که:

به ازای هر کاربری یک Session حدید در سرور ایجاد میشه و نحوه برخورد با صفحات هم مانند DLL ها در ویندوز است یعنی یک بار صفحه در حافظه سرور بار شده و برای هر کاربر از همان یک نمونه (البته با افزودن داده های خاص آن کاربر ) استفاده می شود ،

به طور کلی محیط یک برنامه وب با محیط ویندوز متفاوت است و با حرکت بین صفحات آن صفحه برای آن کاربر خاص حذف می شود در غیر این صورت حجم حافظه مورد نیاز برای سرور غیر قابل تصور خواهد شد. در واقع وب سرور صفحات رو از حافظه خارج نمیکنه فقط داده های سفارشی شده برای کاربران رو از بین میبره و در هر درخواست جدید منطق استاتیک رو با منطق دینامیک که همون DLL ها (در دات نت اسمبلی ها) هستند ترکیب می کنه و صفحه ای رو به شما نشون میده.

در صورتی که تاریخچه تکامل وب از HTML ، XHTML ، CGI ، ATL Server ، ASP و هم اکنون ASP.NET و تفاوت های این فن آوری ها رو مقایسه کنی خواهی دید که َASp.NET از مدلی مشابه ATL Server برای سرویس دهی استفاده می کنه (البته خیلی کاملتر شده و مشکلات اون رو نداره - به علت مزایای فریمورک دات نت).