مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

بررسی چرخه حیات در بخش های مختلف ASP.NET


چرخه حیات در بخش های مختلف ASP.NET

در این جلسه قصد داریم در مورد چرخه حیات (Life Cycle) در بخش های مختلف ASP.NET صحبت کنیم.

چرخه حیات ASP.NET مشخص می کند که چگونه:

  • ASP.NET صفحات را برای تولید خروجی داینامیک پردازش می کند.
  • برنامه کاربردی و صفحات آن نمونه برداری شده و پردازش می شوند.
  • ASP.NET صفحات را به صورت داینامیک کامپایل می کند.

چرخه حیات ASP.NET می تواند به دو گروه تقسیم شود:

  • چرخه حیات برنامه کاربردی 
  • چرخه حیات صفحه

چرخه حیات برنامه کاربردی ASP.NET

چرخه حیات برنامه کاربردی مراحل زیر را دارد:

  • کاربر درخواستی را برای دسترسی به منابع یا یک صفحه برنامه کاربردی صادر می کند. مرورگر این درخواست را به وب سرور ارسال می کند.
  • Pipeline (خط لوله) منحصر بفردی اولین درخواست را دریافت می کند و رویدادهای زیر اتفاق می افتند:
    • یک شیئی از کلاس ApplicatinManager ایجاد می شود.
    • یک شیئی از کلاس HstingEnvironment ایجاد می شود تا اطلاعات را برای منابع فراهم نماید.
    • آیتم های سطح بالا در برنامه کاربردی کامپایل می شوند.
  • اشیاء Response ایجاد می شوند. اشیاء برنامه کاربردی همانند HttpContext ، HttpRequest و HttpResponse  ایجاد شده و مقداردهی اولیه می شوند.
  • یک نمونه از شیء HttpApplication  ایجاد شده و به request اختصاص می یابد.
  • Request توسط کلاس HttpApplication  پردازش می شود. رویدادهای مختلفی برای پردازش request توسط این کلاس انجام می پذیرند.

چرخه حیات صفحه ASP.NET

هنگامی که یک صفحه درخواست می شود ، این صفحه در حافظه سرور لود شده ، پردازش شده و به مرورگر ارسال می شود. سپس ، از حافظه خارج می شود. در هر کدام از این مراحل ، متدها و رویدادهایی موجود است  که می توانند بر حسب نیاز برنامه کاربردی لغو شوند. به عبارت دیگر ، می توانیم کدهای خود را طوری بنویسیم که کد پیش فرض را تغییر دهند.

کلاس Page یک درخت سلسه مراتبی از تمام کنترل های صفحه را ایجاد می کند. تمام مؤلفه های صفحه ، بغیر از دایرکتیوها (directives) بخشی از درخت کنترل هستند. می توانیم درخت کنترل را با اضافه کردن trace= "true" به دارکتیو صفحه ، مشاهده کنیم. ما مبحث دایرکتیوهای صفحه و ردیابی ‘تحت دایرکتیوها’ و  ‘هندل کردن رویداد’ را بعداً پوشش خواهیم داد.

فازهای چرخه حیات صفحه عبارتند از:

  • مقداردهی اولیه
  • مقداردهی اولیه کنترل های صفحه
  • ترمیم و نگهداری وضعیت (state)
  • اجرای کدهای هندلر رویداد
  • رندر کردن صفحه

درک چرخه حیات صفحه در نوشتن کدها کمک می کند تا برخی از موارد خاص را که در هر مرحله از چرخه حیات صفحه اتفاق می افتند ، متوجه شویم. هم چنین ، در نوشتن کنترل های سفارشی کمک می کند و باعث می شود که آنها را در زمان مناسب مقداردهی کرده ، خواص آنها را با داده های view-state پر نموده و کد کنترل رفتار را اجرا می کنیم.

مراحل مختلف یک صفحه ASP.NET در ادامه آورده شده است:

  • Page request – هنگامی که ASP.NET یک درخواست صفحه را دریافت می کند ، تصمیم می گیرد که آیا صفحه را parse و کامپایل نماید ، یا یک نسخه cache شده از صفحه وجود داشته باشد؛ بر این اساس پاسخ فرستاده می شود.
  • شروع چرخه حیات صفحه – در این مرحله ، اشیاء Request و Response تنظیم می شوند. اگر درخواست ، به صورت یک در خواست قدیمی یا Post back باشد ، خصیصه IsPostBack  صفحه به true تنظیم می شود. خصیصه UICulture صفحه نیز تنظیم می شود.
  • مقداردهی اولیه صفحه – در این مرحله ، کنترل های صفحه با ID منحصربفردی از طریق تنظیم خصیصه UniqueID مرتبط شده و تم ها (themes) اجرا می شوند. برای یک درخواست جدید ، داده postback بارگذاری شده و خصیصه های control به مقادیر view-state باز گردانده شوند.
  • بارگذاری صفحه – در این مرحله ، خصیصه های control با استفاده از وضعیت view و مقادیر وضعیت کنترل تنظیم می شوند.
  • اعتبارسنجی – متد Validate از کنترل اعتبارسنجی فراخوانی می شود و با اجرای موفق آن ، خصیصه IsValid از صفحه به true تنظیم می شود.
  • هندل کردن رویداد Postback – اگر درخواست از نوع Postback (درخواست قدیمی) باشد ، هندلر رویداد مرتبط فراخوانی می شود.
  • رندر کردن صفحه - در این مرحله ،  view state برای صفحه و تمام کنترل ها ذخیره می شوند. صفحه ، متد Render را برای هر control صدا می زند و خروجی رندرینگ در کلاس OutputStream  از خصیصه Response صفحه نوشته می شود.
  • Unload (خالی کردن) – صفحه رندر شده به کلاینت ارسال می شود و خصیصه هایی همانند Respose و Request خالی شده و عملیات پاک سازی انجام می شود.

رویدادهای چرخه حیات page در ASP.NET

در هر مرحله از چرخه حیات page ، صفحه با برخی از رویدادها مواجه هست که می توانند کدنویسی شوند. یک هندلر رویداد ، اساساً یک تابع یا زیرروال (subroutine) است ، که با استفاده از ویژگی های اعلام شده همانند Onclick یا handle به رویداد متصل می شود.

رویدادهای چرخه حیات page عبارتند از:

  • PreInit : PreInit اولین رویداد در چرخه حیات صفحه می باشد. این رویداد خصیصه IsPostBack را بررسی می کند و تعیین می کند که آیا page یک postback است یا خیر. این رویداد theme ها و master page ها را تنظیم می کند ، کنترل های داینامیک را ایجاد می کند و مقادیر خصیصه profile را گرفته و تنظیم می نماید. این رویداد می تواند از طریق استفاده از متد OnPreInit  یا ایجاد یک هندلر Page_PreInit هندل شود.
  • Init – رویداد Init ، خصیصه control را مقداردهی اولیه می کند و درخت کنترل را می سازد. این رویداد می تواند از طریق استفاده از متد OnInit یا ایجاد یک هندلر Page_PreInit هندل شود.
  • InitComplete – رویداد InitComplete ، امکان ردیابی وضعیت view را فراهم می کند. تمام کنترل های شرایط ردیابی view-state را فعال می کنند.
  • LoadViewState – رویداد LoadViewState ، امکان لود کردن اطلاعات وضعیت view را در داخل کنترل ها فراهم می کند.
  • LoadPostData – در طول این فاز ، کنترل های تمام فیلدهای ورودی با تعریف تگ <form> پردازش می شوند.
  • PreLoad – رویداد PreLoad قبل از لود شدن داده های post back در کنترل ها ، اتفاق می افتد. این رویداد می تواند از طریق استفاده از متد OnPreLoad  یا ایجاد یک هندلر  Page_PreLoad هندل شود.
  • Load - رویداد Load برای اولین صفحه اتفاق می افتد و سپس به صورت بازگشتی برای تمام کنترل های فرزند نیز صورت می پذیرد. کنترل ها در درخت کنترل ایجاد می شوند. این رویداد می تواند از طریق استفاده از متد OnLoad یا ایجاد یک هندلر Page_Load هندل شود.
  • LoadComplete – فرآیند لود کردن تکمیل می شود ، هندلرهای کنترل رویداد اجرا می شوند ، و اعتبارسنجی صفحه اتفاق می افتد. این رویداد می تواند از طریق استفاده از متد OnLoadComplete یا ایجاد یک هندلر Page_LoadComplete هندل شود.
  • PreRender – رویداد PreRender فقط قبل از این که خروجی رندر شود ، اتفاق می افتد. با هندل کردن این رویداد ، صفحات و کنترل ها می توانند هر به روزرسانی را قبل از این که خروجی رند شود ، اجرا نمایند.
  • PreRenderComplete – از آنجایی که رویداد PreRender به طور بازگشتی تمام کنترل های فرزند را راه اندازی می کند ، این رویداد از تکمیل فاز prerendering اطمینان حاصل می کند.
  • SveStateComplete – وضعیت کنترل در یک صفحه ذخیره می شود. اطلاعات شخصی ، وضعیت کنترل و وضعیت view ذخیره می شوند. نشانه گذاری HTML تولید می شود. این مرحله می تواند از طریق استفاده از متد Render یا ایجاد یک هندلر Page_Render هندل شود.
  • UnLoad – فاز UnLoad آخرین فاز از چرخه حیات صفحه می باشد. این فاز ، رویداد UnLoad را برای تمام کنترل ها به صورت بازگشتی و در نهایت برای خودش اجرا می کند. پاکسازی نهایی انجام می شود و تمام منابع و مراجع مانند اتصالات پایگاه داده آزاد می شوند. این رویداد می تواند از طریق استفاده از متد OnUnLoad یا ایجاد یک هندلر Page_UnLoad  هندل شود.
فصلِ: 5 , تعداد قسمت ها: 176 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل پس از بررسی سیستم مسیریابی و طراحی صفحه نمایش ویدیو ها، به سراغ پنل کاربری خواهیم رفت و مباحث Model Binding و…

توجه: این دوره آموزشی به صورت پیوسته بر اساس آخرین نسخه ی ASP.NET Core بروزرسانی خواهد شد.   آموزش صفر تا صد طراحی سایت اشتراک ویدیو مشابه آپارات با استفاده از  ASP.NET CORE  MVC 3.0 و V…
فصلِ: 8 , تعداد قسمت ها: 357 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه قصد داریم تا فروشگاه اینترنتی دیجی کالا رو با Asp.Net Core3 پیاده سازی کنیم. ابتدا طراحی قالب دیجی کالا رو به صورت کامل انجام خواهیم داد. در مرحله میریم …
فصلِ: 5 , تعداد قسمت ها: 135 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه آموزشی، با استفاده از جدیدترین تکنولوژی ها و ابزار های مایکروسافت (دات نت)، به یک پروژه جذاب مدیریت آگهی مشابه دیوار می پردازیم. این آموزش در دو بخش کلی و…
فصلِ: 7 , تعداد قسمت ها: 153 , سطح: صفر تا صد
موضوعات: آموزش ASP.NET

این فصل در یک نگاه:

در این دوره به آموزش صفر تا صد جدیدترین نسخه ASP یعنی CORE جدیدترین ورژن خواهیم پرداخت.این آموزش از سطح مقدماتی تا فوق …

دوره آموزش کامل طراحی وب به همراه پروژه ساخت سیستم مدیریت کتابخانه  این دوره  با کور 1 آغاز می شود و در ادامه پروژه به کور 2 تبدیل می شودو پروژه نهایی (سیستم مدیریت کتابخانه) با Asp.net کور…
فصلِ: 1 , تعداد قسمت ها: 5 , سطح: متوسط

این فصل در یک نگاه:

ساخت محیط کاربریآموزش نحوه ی ارسال ایمیل در Asp.net MVCآموزش تنظیمات Gmail برای استفادهاستفاده از Yahooاستفاده از سرویس …

به نام خدا... در خدمتتون هستم با آموزش ارسال ایمیل در Asp.net MVC... ارسال ایمیل یکی از اجزای اصلی ییک سایت به شمار می رود و واقعا سایتی که برای اجزای مختلفش همانند ثبت کاربر جدید و یا ارسال…
فصلِ: 2 , تعداد قسمت ها: 62 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل دوم در یک نگاه:فصل دوم در یک نگاه:…

در این پکیج به مبحث طراحی وب ، در قالب ساخت یک سایت فروشگاهی 5040 به آدرس http://5040.ir می پردازیم که به جرات مشهورترین و یکی از برترین فروشگاه های مجازی در کشور است. در این مجموعه قصد داری…
فصلِ: 4 , تعداد قسمت ها: 78 , سطح: متوسط

این فصل در یک نگاه:

در این دوره آموزشی، وبسایت ورزش3 را با استفاده از ASP.NET Core پیاده سازی می کنیم و همچنین اپ اندروید آن را هم با Xamarin متصل به سرور سایت طراحی و در نهایت نحوه انتشار آن در مارکت هایی مثل …
فصلِ: 1 , تعداد قسمت ها: 14 , سطح: متوسط

این فصل در یک نگاه:

کاملترین آموزش هاست و کار با سی پنل.در هنگام خرید سرویس هاست کلمه ای به نام “کنترل پنل” را زیاد خواهید دید آیا تا به حال…

سی پنل یک کنترل پنل هاست محبوب و معروف در جهان و ایران است. در فیلم آموزش سی پنل هم توصیه اکید شده تا افراد مبتدی و حتی افراد حرفه ای از این کنترل پنل هاست سی پنل استفاده کنند. آموزش cpanel …
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل پنجم…

توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط

این فصل در یک نگاه:

رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…

 اصول مدیریت وب سایت برای وب مستر شدن برای موفقیت یک وب سایت لازم الاجراست. زیرا شما دوست دارید وب سایت خود را به کارخانه پولسازی تبدیل کنید. این واقعیت رویا نیست. هرکس این اصول را بداند به …

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید