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

تبلیغات

تبلیغات متنی

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

صرافی rkchange

سایبان ماشین

دزدگیر منزل

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

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

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

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

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

آراد برندینگ

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

موسسه خیریه

واردات از چین

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

ناب مووی

دانلود فیلم

بانک کتاب

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

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

irspeedy

درج اگهی ویژه

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

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

قیمت فرش

درب فریم لس

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

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

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

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

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

قیمت سرور dl380 g10

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

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

خرید فالوور

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

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

اوزمپیک چیست

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

خرید از چین

خرید از چین

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

نگهداری از سالمند شبانه روزی در منزل

بی متال زیمنس

ساختمان پزشکان

ویزای چک

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

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

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

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

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

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

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

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

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

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

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

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

قرص گلوریا

 






آمار وبسایت

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




هواشناسی

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

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



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

تفاوت ASP و ASP.net؟


واضح آرشیو وب فارسی:فان پاتوق: ASP.NET و بررسی تفاوت های موجود با ASP کلاسيک
آيا ASP.NET نسخه جديدی از ASP کلاسيک است ؟ در پاسخ به سوال فوق می بايست با صراحت اعلان نمود که ASP.NET بعنوان يک نسخه اصلاح شده و يا تکميلی نسبت به آخرين نسخه ASP کلاسيک يعنی ASP 3.0 نبوده و در حقيقت ASP.NET يک الگوی جديد برای پياده سازی برنامه ها تحت وب خصوصا" اسکريپت هائی که بر روی سرويس دهنده اجراء می گردند ، می باشد . در اين مقاله سعی خواهد شد که به بررسی مهمترين تفاوت های موجود بين ASP.NET و ASP کلاسيک پرداخته و در اين رهگذر نگاهی نيز بر اصول اوليه و اساسی برای ايجاد اين نوع صفحات داشته باشيم .

.NET Common Language Runtime
شرکت مايکروسافت در حال ايجاد يک زير ساخت سطح پايين (Low-Level) برای ويندوز است . اين زير ساخت جديد ، بعنوان حد واسط بين عمليات سطح پايين ويندوز و برنامه های کاربران ، قرار گرفته و ايفای وظيفه ( مديريت اجرای کدها ) خواهد کرد . زيرساخت فوق CLR ناميده شده است .CLR مسئول ايجاد يک سطح خاص از کپسوله سازی بين پياده کنندگان نرم افزار و سيستم عامل بوده و طبيعتا" باعث تسهيل در ايجاد برنامه های تحت ويندوز خواهد شد. در اين راستا پياده کنندگان نگران انجام عمليات سطح پايينی نظير : مديريت حافظه ،مديريت اشاره گرها ،تفاوت بين زبانهای برنامه نويسی و ساير عمليات رايج دردسر آفرين ! نخواهند بود. CLR يک محيط زمان اجراء بصورت Object-Oriented است . هر نوع داده در CLR بصورت يک شی بوده که در کنار خود مجموعه ای از متدها و خصايص را خواهد داشت . CLR امکان دستيابی به مجموعه ای حياتی از سرويس ها و خدمات ارائه شده توسط سيستم عامل نظير : امنيت ، تعيين اعتبار ،دستيابی به سيستم فايل ، دسترسی به اطلاعات شبکه ای و ساير عمليات مورد نياز را فراهم می نمايد.
نکته
کدهائی که با استفاده از امکانات ارائه شده CLR نوشته می شوند را Managed code و کدهائی که از زير ساخت فوق استفاده نمی نمايند را Unmanaged Code می گويند.

مقدمه ای بر ASP.NET
تفاوت بين ASP.NET با ASP کلاسيک از دو زاويه اصلی قابل مطالعه است:
? بعد اول : ASP.NET امکانات بمراتب بيشتری را از بعد برنامه نويسی نسبت به ASP کلاسيک ارائه نموده است . مايکروسافت در اين زمينه از نقطه نظرات و پيشنهادات افراديکه با ASP کار کرده اند استفاده و سعی نموده است که با بررسی دقيق اين نوع خواسته ها ،امکان افزودن قابليت های جديد برنامه نويسی در ASP.NET را محقق نمايد.
? بعد دوم : ASP.NET تغييراتی را در رابطه با اصول برنامه نويسی برای ايجاد صفحات وب پويا ايجاد نموده است . برای ايجاد و نوشتن صفحات ASP.NET نيازمند کسب تجارب بيشتر و جديدتری نسبت به آنچه قبلا" در رابطه با ASP کلاسيک فراگرفته شده است، خواهد بود.
در ادامه به بررسی دو بعد فوق خواهيم پرداخت :

اصلاحات ساختاری در برنامه نويسی صفحات ASP.NET
• اسکريپت های ترجمه شده ASP.NET . ASP.NET نسبت به ASP از کارآئی بمراتب بالاتر و محسوس تری برخوردار است . صفحات ASP.NET ترجمه می گردنند.در گذشته ما شاهد تفسير اسکريپت های نوشته شده بهمراه ASP بوديم که همين موضوع تاثير زيادی را از بعد سرعت و کارائی بدنبال داشت . صفحات ASP.NET حرف به حرف توسط کمپايلرهای وابسته به CLR ترجمه خواهند شد. ( کمپايلرهای ارائه شده بهمراه ويژوال استوديو نظير VB,VC++,C# نمونه هائی از اين نوع کمپايلرها می باشند.)
• Caching . يکی از مهمترين عوامل تاثير گذار بر کارائی يک وب سايت ،نحوه دستيابی به داده ها است . مثلا" يک صفحه وب که محتويات يک جدول موجود در بانک اطلاعاتی را نمايش می دهد ،اکثر زمان خود را صرف ايجاد ارتباط با بانک اطلاعاتی ، درخواست و بازيابی اطلاعات می کند . برای بهبود کارائی برنامه های تحت وب که هر يک بنوعی با بانک اطلاعاتی مرتبط و پس از انجام فعل و انفعالاتی اطلاعاتی را نمايش می دهند ،ASP.NET از يک ماژول Data-Caching در کنار خود استفاده می نمايد. ماژول فوق اين امکان را فراهم خواهد آورد که مشخص نمائيم چه نوع اطلاعاتی را می بايست بر روی صفحه Cache و تا چه زمانی و تحت چه شرايطی می بايست Cache تخليه شده ومجددا" درخواست برای بازيابی اطلاعات از بانک اطلاعاتی را داشته باشيم . در چنين شرايطی در صورتيکه اين اطمينان وجود دارد که بانک اطلاعاتی بندرت بهنگام سازی می گردد ،می توان صفحه ای را ايجاد نمود که نتايج مربوط به بازيابی اطلاعات از بانک اطلاعاتی را به مدت بيست و چهار ساعت Cache نمايد.
• عرضه ADO+ . شرکت مايکروسافت بهمراه ASP.NET نسخه جديدی از ADO با نام ADO+ را ارائه نموده است . ADO+ با داده ها بصورت شی گراء ، چندبعدی و بمراتب ساده تر از ADO برخورد می کند. در ADO تمامی داده ها بصورت دو بعد سطر و ستون نمايش داده می شوند. در چنين حالتی اگر يک سطر و يا ستون خاص در يک RecordSet خود شامل يک Recordset باشد ،چه اتفاقی خواهد افتاد؟ انجام عمليات فوق در ADO بسيار مشکل است . ( صرفا" انجام عمليات فوق از طريق Data Shaping انجام می گيرد) در ADO+ ايجاد Recordset های چند بعدی بسادگی انجام گرفته و تحقق عمليات متفاوتی نظير بهنگام سازی و حذف Recordset های مربوطه کار مشکلی نخواهد بود. در ADO هر يک از RecordSet ها بصورت يک صفحه ( بورد) دو بعدی و غير انعطاف پذير از اطلاعات می باشند . در ADO+ هر يک از Recordset ها بصورت يک قطره کاملا" انعطاف پذير و شکل پذير از اطلاعات خواهد بود.
• Post-Back Forms . در زمان ايجاد صفحات ASP کلاسيک و در موارديکه نياز به جمع آوری اطلاعات از کاربر و انجام پردازش های مربوطه بر روی داده ها است ،اغلب پياده کنندگان اين نوع صفحات از ترفندهای متعددی استفاده می کردنند. استفاده از فرم های Post-Back نمونه ئی از ترفندهای مورد اشاره است . اين نوع فرم ها با استفاده از تگ ايجاد و خصلت ACTION آنها مقدار دهی نشده و يا به همان صفحه ای که شامل فرم است آدرس دهی خواهد شد.در اين راستا زمانيکه کاربر اقدام به ارسال فرم می نمايد ،صفحه مشابه ASP مجددا" فعال که در آن داده های وارد شده توسط کاربر در فرم مشاهده خواهند شد. برای هندل کردن اينچنين موارد در ASP از دستورات if استفاده شده تا مشخص گردد که آيا فرم Post-back شده است يا خير ؟ در ASP.NET از دستورات دردسر آفرين If استفاده نمی گردد. پياده کنندگان می توانند يک صفحه ASP.NET را بهمراه استفاده از يک دکمه کنترل سرويس دهنده ايجاد نمايند. در ادامه می توان با نوشتن يک تابع نحوه برخورد با واقعه فشردن دکمه مربوطه را تبين نمود. در چنين حالتی تمامی عمليات مورد نياز برای حمايت لجستيک از يک فرم از طريق يک تابع انجام خواهد شد. ( به جای نوشتن چندين If ) .
• Server Controls . در ASP کلاسيک تمامی متدها ی لازم برای اخذ اطلاعات از کاربران از طريق کنترل های پيش فرض HTML انجام می شود. مثلا" برای ايجاد يک Text Box و بمنظور اخذ اطلاعات از کاربر می توان از کدهائی مشابه زير استفاده نمود :

ايجاد يک Text Box




در ASP.NET کنترل های سرويس دهنده جايگزين شده اند. کنترل های فوق را می توان در صفحات ASP.NET از طريق نوشتن کدهای ساده ای ايجاد نمود. مثلا" برای ايجاد يک Text Box در يک صفحه ASP.NET می توان همچنان از تگ های استاندارد HTML نظير آنچه که در مثال بالا مشاهده کرديم ويا از يک کنترل سرويس دهنده مطابق زير استفاده نمود :

ايجاد يک Text Box در ASP.NET




کنترل سرويس دهنده Text Box توسط تگ asp:textbox ايجاد می گردد. تگ فوق به ASP.NET خواهد گفت که شما به يک Text Box نياز داريد. اين کنترل سرويس دهنده هوشمندانه Html های لازم و مورد نياز برای عرضه نمودن يک Text Box استاندارد را ارائه خواهد نمود. زمانيکه کاربری صفحه ASP.NET را ملاقات نمايد ،با کدهای Html مشابه زير مواجه خواهد شد.
ايجاد يک Text Box در ASP.NET و مشاهده توسط کاربر




...
توجه داشته باشيد که کنترل سرويس دهنده Text Box بصورت Html های معمولی عرضه شده است . همچنين فيلد مخفی _Viewstate برای نگهداری وضعيت فرم با توجه به داده ها ی کاربر ايجاد می گردد. در اين مقاله بدنبال تشريح جزئيات نحوه کار کنترل های سرويس دهنده و نحوه پشتيبانی از آخرين وضعيت يک فرم نبوده و صرفا" می بايست به اين نکته توجه نمود که کنترل های سرويس دهنده تگ های Html را برای سرويس گيرنده ارسال و همانند صفحات ASP کلاسيک ،هر مرورگر استاندارد وب قادر به نمايش صفحات ASP.NET خواهد بود.

تسهيل در امر بکارگيری برنامه ها
گروه طراح ASP.NET در شرکت مايکروسافت آشکارا به اين حقيقت پی برده بودند که بکارگيری يک برنامه ASP بسيار مشکل است . مثلا" در صورتيکه يک برنامه بزرگ ASP بهمراه تعداد زيادی عناصر COM اختصاصی طراحی و بر روی سرويس دهنده محل طراحی اين عناصر (Development Servers) و برنامه ها قرار گرفته شده باشند ،انتقال برنامه به محل واقعی جهت استفاده (Production Servers) کار مشکل و دردسر آفرينی خواهد بود. در اين راستا می بايست اين اطمينان را داشت که تمامی عناصر Com بر روی هر يک از سرويس دهندگان وجود داشته و عناصر فوق ريجستر شده باشند. تنظيم پارامترهای مربوط به برنامه IIS بر روی هر يک از سرويس دهندگان نيز مزيد بر مشکل بود و بهرحال ما همواره در رابطه با بکارگيری و انجام عمليات مربوطه در اين زمينه با مشکلات عديده ای مواجه بوده و هستيم . صفحات ASP.NET در اين راستا نيز تسهيلاتی را در امر بکارگيری ساده برنامه های ASP فراهم نموده اند. در ASP.NET لزومی به ريجستر نمودن عناصر COM نبوده و کافی است که عناصر فوق در دايرکتوری مربوطه مستقر گردنند. ASP.NET از يک فايل پيکربندی متنی برای تغيير و اصلاح پارامترهائی استفاده نموده که تغيير آنها قبلا" صرفا" از طريق بکارگيری برنامه IIS امکان پذير بود.

تغييرات اوليه در برنامه نويسی اسکريپت های وب با استفاده از ASP.NET
ASP.NET تغييرات اصولی متعددی را در رابطه با ايجاد صفحات وب باعث شده است . صفحات ASP بر اساس يک نظام خاص رويه ای ايجاد و هر فعاليت از طريق يک صفحه ASP انجام خواهد شد. در هر يک از صفحات ASP کدهای نوشته شده برای انجام يک فعاليت خاص بترتيب اجراء خواهند شد. مثلا" اگر بخواهيم کاربران نام خود را وارد نموده و در ادامه امکان نمايش آن را فراهم نمود می توان دو صفحه ASP را ايجاد نمود: اولين صفحه مسئول ايجاد يک فرم بهمراه يک TextBox بوده که کاربر قادر به درج نام خود در فيلد فوق خواهد بود. دومين صفحه بعنوان ACTION مربوط به فرم ايفای وظيفه خواهد نموده و بسادگی نام وارد شده توسط کاربر را که از طريق اولين صفحه وارد شده است را نمايش خواهد داد : (Response.write ?Hello, ? & Request.Form(?Name") . در صفحات ASP ضروری است که پياده کنندگان از آنچه که بر روی سرويس دهنده و سرويس گيرنده اتفاق می افتد، آگاهی داشته باشند. همانگونه که اشاره شد برای اخذ اطلاعات از کاربر نيازمند استفاده از چندين صفحه ASP مجزای ديگر خواهيم بود. به عبارت ديگر درج و اخذ اطلاعات از کاربر نيازمند يک Round Trip به سرويس دهنده بوده و پياده کننده می بايست نسبت به اين واقعيت آگاهی لازم را داشته باشد.
صفحات ASP.NET نيز به اين Round trip برای اخذ اطلاعات از کاربر نياز خواهند داشت با اين تفاوت که پياده کنندگان ضرورتی نسبت به آگاهی از جزئيات اين فعاليت نخواهند داشت . صفحات ASP.NET بسيار مشابه برنامه هائی هستند که با ويژوال بيسيک نوشته شده اند. در رابطه با مثال گفته شده دو صفحه مورد نظر را می توان در يک صفحه و از طريق نوشتن کدهای محدودی ايجاد نمود. در برنامه زير از يک کنترل سرويس دهنده Button استفاده شده است .(asp:button) . زمانيکه دکمه فوق فعال گردد تابعی با نام SubmitButton_Clicked فعال و عمليات مورد نظر را انجام خواهد داد.






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

[ارسال شده از: فان پاتوق]
[مشاهده در: www.funpatogh.com]
[تعداد بازديد از اين مطلب: 503]

bt

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




-


گوناگون

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


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