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

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

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

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

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

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

لوله بازکنی تهران

آراد برندینگ

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

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

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

irspeedy

درج اگهی ویژه

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

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

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

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

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

بهترین وکیل کرج

بهترین وکیل تهران

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

ویزای چک

محصولات فوراور

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

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

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

خرید نهال سیب

وکیل ایرانی در استانبول

وکیل ایرانی در استانبول

وکیل ایرانی در استانبول

 






آمار وبسایت

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




هواشناسی

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

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



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

نحوه پردازش صفحات ASP.NET بر روی سرويس دهنده وب


واضح آرشیو وب فارسی:راسخون:
نحوه پردازش صفحات ASP.NET بر روی سرويس دهنده وب
نحوه پردازش صفحات ASP.NET بر روی سرويس دهنده وب برنامه های وب از معماری سرويس گيرنده - سرويس دهنده تبعيت نموده و بر روی سرويس دهنده وب مستقر و مسئوليت پاسخگوئی به درخواست های ارسالی توسط سرويس گيرندگان را برعهده خواهند داشت .در سمت سرويس گيرنده ، مرورگر و در سمت سرويس دهنده ، سرويس دهنده وب دارای جايگاهی خاص می باشند . مرورگر ، ميزبان برنامه وب بوده و مهمترين وظيفه آن ارائه بخش رابط کاربر يک برنامه وب است . در اين راستا ، مرورگر دارای پتانسيل لازم به منظور تفسير و نمايش تگ های HTML می باشد .در سمت سرويس دهنده ، برنامه های وب با نظارت و مديريت يک سرويس دهنده وب ( مثلا" IIS ) اجراء می گردند . سرويس دهنده وب ، مسئوليت مديريت برنامه ، پردازش درخواست های ارسالی توسط سرويس گيرندگان و ارائه پاسخ لازم به سرويس گيرندگان را بر عهده دارد .به منظور قانونمند کردن ارسال درخواست سرويس گيرندگان و ارائه پاسخ سرويس دهنده ، می بايست از يک پروتکل ارتباطی خاص استفاده گردد. پروتکل ، مجموعه ای از قوانين لازم بمنظور تشريح نحوه ارتباط دو و يا چندين آيتم از طريق يک محيط انتقال ( زير ساخت انتقال داده ) نظير اينترنت است . در برنامه های وب ( ارسال درخواست توسط سرويس گيرنده و پاسخ به درخواست توسط سرويس دهنده ) از پروتکل ارتباطی HTTP)Hypertext Transport Protocol) ، استفاده می گردد. ASP.NET پلات فرم مايکروسافت برای طراحی و پياده سازی برنامه های وب در دات نت می باشد . پس از درخواست يک صفحه ASP.NET توسط مرورگر سرويس گيرنده ، پردازش های متعددی بر روی سرويس دهنده وب به منظور ارائه پاسخ لازم ، انجام خواهد شد.شايد تاکنون سوالات مختلفی در رابطه با نحوه پردازش صفحات ASP.NET بر روی سرويس دهنده ، برای شما مطرح شده باشد :• پس از درخواست يک صفحه ASP.NET ، بر روی سرويس دهنده وب چه اتفاقی می افتد ؟ • نحوه برخورد سرويس دهنده وب با درخواست ارسالی توسط سرويس گيرنده چگونه است ؟ • تگ های HTML چگونه توليد و برای مرورگر ارسال می گردد؟ • و شايد سوالات ديگر! در اين مقاله قصد داريم با نحوه پردازش صفحات ASP.NET بر روی سرويس دهنده بيشتر آشنا شويم . بديهی است تشريح تمامی مراحل با ذکر جزئيات از حوصله يک مقاله خارج بوده و هدف آشنائی با کليات موضوع با يک روند مشخص و سيستماتيک است .مرحله اول : ايجاد يک درخواست HTTP برای يک صفحه ASP.NET توسط مرورگر پردازش با درخواست يک صفحه ASP.NET که توسط مرورگر ايجاد می شود ، آغاز می گردد .مثلا" يک کاربر ممکن است در بخش آدرس مرورگر کامپيوتر خود آدرس www.srco.ir//Articles/DocView.asp?ID=210 را به منظور دريافت اين مقاله وارد نمايد . مرورگر در ادامه يک درخواست HTTP را از سرويس دهنده وب محل استقرار سايت Srco.ir ايجاد و درخواست فايل حاوی مقاله را می نمايد . مرحله دوم : دريافت درخواست HTTP ، توسط سرويس دهنده وب مهمترين وظيفه سرويس دهنده وب ، دريافت درخواست ارسالی HTTP و ارائه منبع درخواست شده درقالب يک پاسخ HTTP است . سرويس دهنده وب ( مثلا" IIS ) ، پس از دريافت درخواست ارسال شده توسط سرويس گيرنده ، تصميم لازم در رابطه با نحوه برخورد با آن را اتخاذ می نمايد. محور تصميم گيری فوق بر پايه نوع انشعاب فايل درخواستی استوار می باشد. مثلا" در صورتيکه فايل درخواستی دارای انشعاب asp. ، باشد ، IIS درخواست را به سمت asp.dll هدايت تا عمليات مرتبط با آن انجام شود . انشعابات فايل متعددی به موتور ASP.NET ، مپ می گردند . برخی از آنان شامل موارد زير می باشد :• انشعاب aspx . ، برای صفحات وب ASP.NET • انشعاب asmx . ، برای سرويس های وب ASP.NET • انشعاب config . ، برای فايل های پيکربندی ASP.NET • انشعاب ashx . ، برای هندلرهای سفارشی ASP.NET HTTP • انشعاب rem . ، برای منابع راه دور • و ساير انشعابات ديگر پس از دريافت درخواست ارسالی توسط سرويس گيرنده ، سرويس دهنده وب آن را در اختيار مسئول مربوطه قرار خواهد داد . مثلا" در صورتيکه درخواست دريافتی مربوط به يک صفحه ASP کلاسيک باشد ، درخواست در اخـتيار asp.dll گذاشته شده و يا در صورتيکه درخواست در ارتباط با يک صفحه ASP.NET باشد ، درخواست در اختيار موتور ASP.NET قرار داده می شود . همانگونه که اشاره گرديد ، معيار اصلی در اين تصميم گيری ، نوع انشعاب فايل درخواست شده توسط سرويس گيرنده می باشد . مرحله سوم : عملکرد موتور ASP.NET پس از درخواست يک صفحه ASP.NET توسط سرويس گيرنده و دريافت آن توسط سرويس دهنده وب ، درخواست دريافتی در اختيار موتور ASP.NET قرار داده می شود . از موتور ASP.NET ، اغلب با نام ASP.NET HTTP pipeline ياد می گردد. علت نامگذاری فوق ، بدين دليل است که درخواست دريافتی از بين تعداد متغيری از HTTP modules در بين مسير خود برای رسيدن به يک HTTP handler عبور می نمايد . HTTP modules ، کلاس هائی می باشند که امکان دستيابی به درخواست دريافتی را دارا می باشند. اين ماژول ها قادر به بازبينی و بررسی درخواست دريافتی و اتخاد تصميماتی می باشند که مستقيما" بر نحوه گردش داخلی ( روند برخورد با درخواست ) تاثير خواهد گذاشت . درخواست دريافتی پس از عبور از ماژول های مسخص شده HTTP ، به يک HTTP Handler خواهد رسيد . HTTP Handler مسئوليت ايجاد خروجی لازم به منظور ارسال برای مرورگر متقاصی ( ارسال کننده درخواست ) را برعهده دارد. تعداد زيادی از ماژول های HTTP از قبل ايجاد شده، بصورت پيش فرض در HTTP pipline وجود دارد: • OutputCache ، مسئوليت برگرداندن و Caching خروجی صفحات HTML در صورت نياز ، برعهده دارد . • Session ، ماژول فوق ، مسئوليت لود Session state را بر اساس درخواست دريافتی کاربر و روش Session که در فايل Web.config مشخص شده است ، برعهده دارد . • FormsAuthentication ، ماژول فوق ، مسئوليت تائيد کاربران بر اساس مدل تعريف شده Forms Authentication را در صورت ضرورت برعهده دارد . • و موارد ديگر به منظورآشنائی با ماژول های پيش فرض، می توان مقادير نسبت داده شده به عنصر <httpModules> در فايل machine.config را مشاهده نمود. جدول زير مقدار پيش فرض عنصر <httpModules> را نشان می دهد . machine.Config: httpModules SectionPath : $WINDOWS$Microsoft.NETFramework$VERSION$CONFIG  <httpModules>     <add name="OutputCache" type="System.Web.Caching.OutputCacheModule"/>     <add name="Session" type="System.Web.SessionState.SessionStateModule"/>     <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule"/>     <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule"/>     <add name="PassportAuthentication" type="System.Web.Security.PassportAuthenticationModule"/>     <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule"/>     <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule"/>     <add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile,                                           Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/></httpModules> هندلرهای HTTP ، نقطه پايان در ASP.NET HTTP pipeline می باشند . مسئوليت HTTP handler ، توليد خروجی برای منبع درخواست شده است . برای صفحات ASP.NET ، اين به معنی Rendering ، کنترل های وب به HTML و برگرداندن HTML می باشد. برای يک سرويس وب ، مسئوليت فوق ، شامل اجرای متد مشخص شده و Wrapping مقاير برگردانده شده به يک پاسخ مناسب و با فرمت SOAP می باشد . منابع متفاوت ASP.NET از هندلرهای متفاوت HTTP استفاده می نمايند.هندلرهای پيش فرص استفاده شده ، توسط بخش <httpHandlers> فايل machine.config مشخص شده اند. بخش فوق، شامل کلاس هائی است که يا خود HTTP handler بوده و يا HTTP handler factories ، می باشند. يک HTTP handler factory ، صرفا" يک نمونه از يک HTTP handler را پس از فراخوانی ، برمی گرداند . جدول زير ، اطلاعات عنصر <httpHandlers> در فايل machine.config را نشان می دهد .machine.Config: httpHandlers SectionPath : $WINDOWS$Microsoft.NETFramework$VERSION$CONFIG  <httpHandlers>      <add verb="*" path="trace.axd" type="System.Web.Handlers.TraceHandler"/>      <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory"/>      <add verb="*" path="*.ashx" type="System.Web.UI.SimpleHandlerFactory"/>.              ...     <add verb="*" path="*.resources" type="System.Web.HttpForbiddenHandler"/>     <add verb="GET,HEAD" path="*" type="System.Web.StaticFileHandler"/>     <add verb="*" path="*" type="System.Web.HttpMethodNotAllowedHandler"/></httpHandlers> لازم است به اين نکته اشاره گردد که امکان ايجاد HTTP modules و HTTP handler اختصاصی ، توسط طراحان وپياده کنندگان برنامه های وب ASP.NET نيز وجود دارد . پس از ايجاد ماژول ها و هندلرهای HTTP ، می توان آنان را به pipeline ملحق تا برای تمامی سايت های وب موجود بر سرويس دهنده وب ، قابل استفاده گردند. بدين منظور، می توان تغييرات لازم را در فايل machine.config اعمال تا زمينه استفاده از آنان توسط تمامی برنامه های وب فراهم گردد . در اين رابطه می توان تغييرات را در فايل Web.config نيز اعمال نمود، در چنين مواردی امکان استفاده از ماژول ها و هندلرهای HTTP ايجاد شده ، صرفا" برای يک برنامه وب وجود خواهد داشت .مرحله چهارم : توليد خروجی آخرين مرحله درارتباط با پردازش يک صفحه ASP.NET بر روی سرويس دهنده وب ، شامل ايجاد خروجی مناسب است . خروجی فوق ، در ادامه از طريق ماژول های HTTP عبور داده شده تا مجددا" به IIS برسد . در نهايت IIS ، خروجی توليد شده را برای سرويس گيرنده متقاصی ارسال می نمايد .مراحل لازم به منظور توليد خروجی با توجه به HTTP handler متفاوت بوده و در ادامه صرفا" يک حالت خاص آن را بررسی می نمائيم ( هندلر HTTP که از آن به منظور rendering صفحات ASP.NET استفاده می گردد).سرويس دهنده وب (IIS) پس از دريافت درخواستی برای يک صفحه ASP.NET ( انشعاب فايل aspx.) ، آن را در اختيار موتور ASP.NET ، قرار خواهد داد. درخواست دريافتی در ادامه از بين ماژول ها عبور داده شده تا به PageHandlerFactory برسد ( در بخش <httpHandlers> فايل machin.config که قبلا" mapping آن انجام شده است ) . machine.Config: httpHandlers Section :PageHandlerFactoryPath : $WINDOWS$Microsoft.NETFramework$VERSION$CONFIG  <httpHandlers>         ...     <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory"/>.       ... </httpHandlers> کلاس PageHandlerFactory ، يک HTTP handler factory است که وظيفه آن ارائه نمونه ای از يک HTTP handlerبوده که قادر به برخورد مناسب با درخواست ارسالی است.مهمترين رسالت PageHandlerFactory ، يافتن کلاس ترجمه شده ای است که نشاندهنده صفحه ASP.NET درخواستی می باشد. در صورتيکه از ويژوال استوديو دات نت به منظور ايجاد صفحات ASP.NET استفاده می گردد ، صفحات وب از دو فايل جداگانه ( يک فايل با انشعاب aspx . ، شامل صرفا" کنترل های وب و تگ های HTML و يک فايل aspx.vb و يا aspx.cs شامل کلاس code-behind ( کد سمت سرويس دهنده ) ) ، تشکيل می گردند. در صورتيکه از ويژوال استوديو دات نت استفاده نمی گردد ، می توان از يک بلاک سمت سرويس دهنده <Script> استفاده تا کد سمت سرويس دهنده را درخود نگهداری نمايد . صرفنظر از اينکه از کدام رويکرد استفاده می گردد ، زمانيکه صفحه ASP.NET اولين مرتبه و پس از ايجاد تغيير در تگ های HTML و يا محتوی کنترل وب ، مشاهده می گردد ، موتور ASP.NET يک کلاس که مشتق شده از کلاس System.Web.UI.Page می باشد را ايجاد می نمايد . کلاس فوق بصورت اتوماتيک ايجاد و کمپايل می گردد .Page Class ، عمليات پياده سازی IhttpHandler را انجام خواهد داد. PageHandlerFactory ، در ادامه بررسی لازم در خصوص وجود يک نسخه کمپايل شده از صفحه ASP.NET درخواستی را انجام خواهد داد. در صورتيکه صفحه ترجمه شده وجود نداشته باشد ، PageHandlerFactory آن را بصورت پويا ايجاد و ترجمه خواهد کرد . کلاس فوق ، در ادامه متد خاصی را به منظور توليد HTML ، فرا می خواند . اطلاعات توليد شده به فرمت HTML ، در نهايـت برای سرويس گيرنده ارسال می گردد.وجود تاخير در مشاهده صفحات ASP.NET که بر روی آنان تغييراتی اعمال شده است ( HTML و يا محتوی کنترل وب) ، بدين دليل است که موتور ASP.NET نيازمند ايجاد و ترجمه مجدد کلاس مرتبط با صفحه ASP.NET می باشد. پس از ايجاد و ترجمه کلاس توسط PageHandlerFactory ، امکان فراخوانی کلاس ايجاد شده به منظور توليد HTML ، فراهم می گردد . فرآيند Rendering که شامل بدست آوردن HTML لازم برای صفحه ASP.NET درخواست شده می باشد از حوصله اين مقاله خارج بوده و می توان در اين رابطه از مقاله The ASP.NET Page Object Model استفاده نمود . منبع: http://www.4guysfromrolla.com





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

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

bt

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







-


گوناگون

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


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