![تفاوت ASP و ASP.net؟ تفاوت ASP و ASP.net؟](https://rasekhoon.net/_files/thumb_images700/article/f371e7fd-bcc3-4d3d-8782-b3875cd5c1a6.jpg)
![تفاوت ASP و ASP.net؟ تفاوت ASP و ASP.net؟](/_WebsiteData/Article/ArticleImages/1111111110/2700055.jpg)
تفاوت ASP و ASP.net؟
ASP.NET و بررسی تفاوت های موجود با ASP کلاسيک
.NET Common Language Runtime
نکته
کدهائی که با استفاده از امکانات ارائه شده CLR نوشته می شوند را Managed code و کدهائی که از زير ساخت فوق استفاده نمی نمايند را Unmanaged Code می گويند.
مقدمه ای بر ASP.NET
? بعد اول : ASP.NET امکانات بمراتب بيشتری را از بعد برنامه نويسی نسبت به ASP کلاسيک ارائه نموده است . مايکروسافت در اين زمينه از نقطه نظرات و پيشنهادات افراديکه با ASP کار کرده اند استفاده و سعی نموده است که با بررسی دقيق اين نوع خواسته ها ،امکان افزودن قابليت های جديد برنامه نويسی در ASP.NET را محقق نمايد.
? بعد دوم : ASP.NET تغييراتی را در رابطه با اصول برنامه نويسی برای ايجاد صفحات وب پويا ايجاد نموده است . برای ايجاد و نوشتن صفحات ASP.NET نيازمند کسب تجارب بيشتر و جديدتری نسبت به آنچه قبلا" در رابطه با ASP کلاسيک فراگرفته شده است، خواهد بود.
در ادامه به بررسی دو بعد فوق خواهيم پرداخت :
اصلاحات ساختاری در برنامه نويسی صفحات ASP.NET
• 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 نمونه ئی از ترفندهای مورد اشاره است . اين نوع فرم ها با استفاده از تگ <Form??> ايجاد و خصلت ACTION آنها مقدار دهی نشده و يا به همان صفحه ای که شامل فرم است آدرس دهی خواهد شد.در اين راستا زمانيکه کاربر اقدام به ارسال فرم می نمايد ،صفحه مشابه ASP مجددا" فعال که در آن داده های وارد شده توسط کاربر در فرم مشاهده خواهند شد. برای هندل کردن اينچنين موارد در ASP از دستورات if استفاده شده تا مشخص گردد که آيا فرم Post-back شده است يا خير ؟ در ASP.NET از دستورات دردسر آفرين If استفاده نمی گردد. پياده کنندگان می توانند يک صفحه ASP.NET را بهمراه استفاده از يک دکمه کنترل سرويس دهنده ايجاد نمايند. در ادامه می توان با نوشتن يک تابع نحوه برخورد با واقعه فشردن دکمه مربوطه را تبين نمود. در چنين حالتی تمامی عمليات مورد نياز برای حمايت لجستيک از يک فرم از طريق يک تابع انجام خواهد شد. ( به جای نوشتن چندين If ) .
• Server Controls . در ASP کلاسيک تمامی متدها ی لازم برای اخذ اطلاعات از کاربران از طريق کنترل های پيش فرض HTML انجام می شود. مثلا" برای ايجاد يک Text Box و بمنظور اخذ اطلاعات از کاربر می توان از کدهائی مشابه زير استفاده نمود :
ايجاد يک Text Box
<Form>
<INPUT TYPE = TEXT NAME=MyTextBox>
</Form>
ايجاد يک Text Box در ASP.NET
<Form ACTION="Test.aspx" METHOD=POST RUNAT="Server">
<asp:textbox id="MyTextBox" runat="Server"/>
</Form>
ايجاد يک Text Box در ASP.NET و مشاهده توسط کاربر
<FORM name="ctrl2" method="post" action="intro7.aspx" id="ctrl2">
<INPUT type="hidden" name="__VIEWSTATE" value="a0z-426043723...">
<input name="MyTextBox" type="text" id="MyTextBox">
توجه داشته باشيد که کنترل سرويس دهنده Text Box بصورت Html های معمولی عرضه شده است . همچنين فيلد مخفی _Viewstate برای نگهداری وضعيت فرم با توجه به داده ها ی کاربر ايجاد می گردد. در اين مقاله بدنبال تشريح جزئيات نحوه کار کنترل های سرويس دهنده و نحوه پشتيبانی از آخرين وضعيت يک فرم نبوده و صرفا" می بايست به اين نکته توجه نمود که کنترل های سرويس دهنده تگ های Html را برای سرويس گيرنده ارسال و همانند صفحات ASP کلاسيک ،هر مرورگر استاندارد وب قادر به نمايش صفحات ASP.NET خواهد بود.
تسهيل در امر بکارگيری برنامه ها
تغييرات اوليه در برنامه نويسی اسکريپت های وب با استفاده از ASP.NET
صفحات ASP.NET نيز به اين Round trip برای اخذ اطلاعات از کاربر نياز خواهند داشت با اين تفاوت که پياده کنندگان ضرورتی نسبت به آگاهی از جزئيات اين فعاليت نخواهند داشت . صفحات ASP.NET بسيار مشابه برنامه هائی هستند که با ويژوال بيسيک نوشته شده اند. در رابطه با مثال گفته شده دو صفحه مورد نظر را می توان در يک صفحه و از طريق نوشتن کدهای محدودی ايجاد نمود. در برنامه زير از يک کنترل سرويس دهنده Button استفاده شده است .(asp:button) . زمانيکه دکمه فوق فعال گردد تابعی با نام SubmitButton_Clicked فعال و عمليات مورد نظر را انجام خواهد داد.
منبع: www.bitasoft.com
/س