تبلیغات
اکو تبریز - چرخه ی حیات در Asp.net
اکو تبریز
صفحه نخست       پست الکترونیک          تماس با ما              ATOM            طراح قالب
گروه طراحی قالب من گروه طراحی قالب من گروه طراحی قالب من گروه طراحی قالب من گروه طراحی قالب من
چرخه ی حیات / life cycle ASP.Net معین می نماید که چطور :


clicksite.ir

آموزش asp.net,آموزش asp.net mvc,آموزش asp.net با c#,clicksite.ir

ASP.Net صفحات را برای تولید خروجی های پویا (dynamic output) پردازش می نماید .

پروگرام صفحات آن نمونه سازی instantiate)) و پردازش شده اند.

ASP.Net صفحات را به صورت پویا ترجمه یا کامپایل می نماید .


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

Application life cycle (چرخه ی حیات پروگرام )

page life cycle (چرخه ی حیات صفحه)


چرخه ی حیات برنامـه (application life cycle) ASP.Net :

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

کاربر یک درخواست / request جهت دسترسی به application resources (منابع برنامـه ی فرد دی) می دهد، پس صفحه ی مرورگر این درخواست را به سرور وب ارسال می نماید .

یک pipeline (خط ارتباطی) یکپارچه متحد الشکل request ها را دریافت کرده و به دنبال آن رخدادهای زیر روی می دهند:


یک شئ (object) از کلاس ApplicationManager ایجاد می شود.

یک شئ (نمونه از نوع شئ) از کلاس HostingEnvironment ایجاد می گردد این شئ اطلاعاتی مربوط به منابع ارائه دهد.


مورد های سطح بالا (top-level items) درون پروگرام ی فرد دی مورد نظر (application) کمپایل می شوند.

Response object ها ایجاد می شوند. Application object هایی از قبیل HttpContext, HttpRequest و HttpResponse ایجاد شده و میزان دهی اولیه (initialize) می شوند.

نمونه (instance) ای از شئ HttpApplication ایجاد گردیده به request (درخواست ) تخصیص داده می شود. این request به وسیله ی کلاس HttpApplication پردازش می شود. برای اینکه کلاس نام برده request مورد نظر را پردازش نماید ، رخدادهای مفرق ی فعال (raise) می شوند.


چرخه ی حیات صفحه (page lifecycle) asp.net:

زمانی که صفحه درخواست (request) می شود، صفحه ی درخواست شده در حافظه ی سرور بارگذاری پردازش شده و به مرورگر ارسال می گردد، سبعد از حافظه ی سرور پاک می شود. هر یک از این مراحل، method ها (متد) event هایی (رخداد) را حاوی می شود که می توانند طبق نیاز برنامـه مربوطه بازنویسی شوند(override). به جمله دیگر شما می توانید جهت بازنویسی (override) کد پیش فرض کد را بنویسید (کد پیش فرض را بازنویسی بکنید ).

کلاس page یک hierarchical tree (نمودار درختی سلسله مراتبی) متشکل از تمام ی کنترل های روی صفحه ایجاد می نماید . تمام ی کامپوننت های روی صفحه، به جز directive ها (یک سازه ی زبان یا language construct که تعیین می نماید کامپایلر چگونه ورودی / input خود را پردازش نماید )، قسمت ی از این control tree می باشند . می توانید با اضافه کردن trace= "true" به page directive دستورات این control tree را مشاهده بکنید .


مراحل مربوط به page lifecycle (چرخه ی حیات صفحه) به شرح زیر هستند :

میزان دهی اولیه (initialization)

نمونه سازی اولیه ی (instantiation) کنترل ها روی صفحه

اجرای کدهای کنترل کننده ی رویدادها (Execution of the events handler codes)

Page rendering (بارگذاری یا نمایش صفحه)


درک page cycle در نوشتن کدهایی کمک می نماید که برنامـه نویس با نوشتن آن کدها می خواهد اتفاق خاصی در وهله از page lifecycle (چرخه ی حیات صفحه) رخ دهد. این امر همین طور در نوشتن control های سفارشی یا اختصاصی، میزان دهی اولیه ی آنها در زمان درست یاری می نماید ، همچنین property (خصوصیت های) آنها را با داده های view-state پر کرده (populate) control behavior code (کد کنترل عملکرد) را اجرا می نماید .


در ادامه مراحل مختلف مربوط به صفحه یا page ASP.Net ارائه شده اند:

Page request (وهله ی درخواست صفحه) - وقت ی ASP.Net یک page request دریافت می نماید ، تصمیم می گیرد که آیا صفحه را تجزیه (parse) کمپایل نماید یا اینکه یک نسخه ی ذخیره شده (cached version) از پیج موجود است ، بر این اساس جواب فرستاده می شود.

شروع چرخه ی حیات صفحه (start of the page lifecycle). در این وهله اشیاء (object) request response تنظیم و میزان دهی می شوند. چنانچه request، یک request قدیمی یا postback (اسمی است که به فرایند تحویل یک صفحه ی asp.net به سرور جهت پردازش، داده می شود) باشد, در آن صورت ویژگی IsPostBack بر روی میزان true تنظیم می شود. همین طور ویژگی (property) UICulture صفحه تنظیم (میزان دهی) می شود.

میزان دهی اولیه ی صفحه (page initialization). در این وهله با میزان دهی (set) ویژگی (property) UniqueID، به کنترل های روی صفحه ID (شناسه) های منحصر بفرد اختصاص داده شده به دنبال آن تم های گرافیکی به control ها اعمال می شوند. برای درخواست جدید داده های postback بارگذاری شده وproperties / control ویژگی های control ها در مقادیر view state ذخیره می شوند.

بارگذاری صفحه (page load) - در این وهله ویژگی های control با مصرف از مقادیر view state و control state تنظیم می شوند.

اعتبارسنجی (validation) – تابع اعتبارسنجی فراخوانی شده بعد از اجرای موفق یت آمیز اعتبار سنجی, ویژگی (property) IsValid صفحه یا page روی true تنظیم می شود (میزان true به ویژگی isvalid تخصیص داده می شود).

Postback event handling (مدیریت رویداد postback) – در صورتی که درخواست یک postback باشد، event handler (مدیریت کننده ی رخداد) مربوطه فراخوانده (invoke) می شود.

Page rendering (بارگذاری و نمایش صفحه)- در این وهله view state مربوط به صفحه و تمام ی control ها ذخیره می شوند. صفحه / page متد render را مخصوص ی تک تک control ها صدا زده و خروجی (output) فرایند اجرا نمایش صفحه (rendering) را درون کلاس OutputStreamِ ویژگی response صفحه را write می نماید .

Unload(تخلیه بار)- صفحه ی بارگذاری شده (rendered page) به سرویس گیرنده (client) ارسال می شود همین طور ویژگی های page (page properties) از قبیل Response Request همگی unload شده پاک می گردند.


رویدادهای ASP.Net page life cycle

در هر وهله از چرخه ی حیات صفحه (page lifecycle event), صفحه رویداد هایی (event) را فعال می نماید که می توان برای آن ها کد نوشت. event handler (کنترلگر یا مدیریت کننده ی رخداد) اساسا یک تابع (function) یا زیرروال (subroutine) مقید یا متصل به رویداد (event) است که از خصیصه های اعلانی یا تعریف کننده (declarative attributes) مانند onclick یا handle مصرف می نماید .


ذیل رویدادهای مربوط به چرخه ی حیات صفحه (page lifecycle event) جهت شما فهرست شده:

Prelnit: اولین رویداد در چرخه ی حیات صفحه است ، که ویژگی (property) IsPostBack را نقد کرده و معین می نماید که صفحه یک postback است یا خیر (این رویداد در واقع به شما مجوز می دهد وضعیت page request (درخواست صفحه) را تحلیل بکنید , جهت مثال چک بکنید صفحه ی مورد نظر در جواب به یک postback بارگذاری می شود یا خیر). Prelnit تم ها master page (صفحات مهم ) را تنظیم و میزان دهی می نماید ، کنترل های پویا (dynamic controls) ایجاد می نماید و همچنین به شما این امکان را می دهد مقادیر get و set ویژگی (property) را میزان دهی می نماید .

Init: این رویداد control property را میزان دهی اولیه می نماید ، پس control tree تولید و ساخته می شود ( این رویداد در واقع بعد از اینکه server control میزان دهی اولیه شده باشد روی می دهد / فعال یا اجرا می شود.

InitComplete: این رویداد امکان مسیریابی view state را فراهم می نماید . تمام کنترل ها مسیریابی view-state را فعال می کنند (زمان ی روی می دهد که میزان دهی اولیه صفحه (page initialization) به اتمام رسیده باشد).

LoadViewState: این رویداد امکان بارگذاری اطلاعات view state را در control ها فراهم می نماید .

LoadPostData: طی این وهله تمام محتویات فیلدهای ورودی که با تگ
تعریف شده اند، پردازش می شوند.


PreLoad : قبل از اینکه داده های postback در کنترل ها بارگذاری شوند، اجرا می شود. این رویداد می تواند با overloading متد OnPreLoad یا ایجاد یک Page_PreLoad handler مدیریت شود.

Load: این رویداد در ابتدا جهت صفحه (page) و پس به صورت بازگشتی (recursive) برای تمام کنترل ها (control) اجرا می شود. کنترل هایی در control tree ایجاد می شوند. این رویداد می تواند با اضافه بارگذاری (overload کردن) تابع OnLoad یا ایجاد Page_Load handler مدیریت شود.

LoadComplete: فرآیند بارگذاری تکمیل شده، control event handler ها اجرا شده و اعتبار سنجی صفحه (page validation) انجام می شود. این رویداد به وسیله ی اضافه بارگذاری (overload) متد OnLoadComplete یا ایجاد یک Page_LoadComplete handler مدیریت می شود.

PreRender: این رویداد درست قبل از اینکه خروجی render شود اجرا می گردد. با مدیریت این رویداد، صفحه ها و کنترل ها می توانند قبل از اجرا نمایش (render) خروجی، هرگونه آپدیت ی انجام دهند.

PreRenderComplete : از آنجایی که رخداد (event) PreRender به صورت بازگشتی (recursive) مخصوص ی کلیه ی control های فرزند (child control) فعال واجرا می شوند، رخداد PreRenderComplete از تکمیل وهله ی pre-rendering اطمینان حاصل می نماید (باعث می شود وهله ی pre-rendering کامل اجرا شود).

SaveStateComplete: Control state در صفحه ذخیره می شود. همین طور personalization اطلاعات مربوط به control state و view state ذخیره می گردند، علامت یا نشانه گذاری با HTML شروع می شود. این وهله را می توان با overload کردن متد render و یا ایجاد Page_Render handler مدیریت کرد.

UnLoad: این وهله آخرین وهله ازچرخه ی حیات صفحه (page lifecycle) است . رویداد UnLoad را در این وهله برای تمام ی کنترل ها به صورت بازگشتی (recursive) و درانتها جهت صفحه اجرا (فعال) می نماید . آخرین پاکسازی (cleanup) انجام شده و تمام ی منابع (resources) و ارجاعات (reference)، از قبیل اتصالات به پایگاه داده آزاد می شوند. این رویداد به وسیله ی تعریف (modify کردن) متد OnUnLoad یا ایجاد یک Page_UnLoad handler مدیریت می شود.



نوع مطلب :
برچسب ها :
لینک های مرتبط :
          
سه شنبه 24 فروردین 1395
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر





صفحات جانبی
آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
امکانات جانبی