ASP . NET
ASP
. NET پيشرفته ترين زيرساختي است كه تا كنون براي
توسعه وب ساخته شده است. ساختار جديد آن است كه بر اساس تكنولوژي جديد Microsoft موسوم به NET . شكل گرفته است .
آشنايي
با MICROSOFT
. NET
. NET واژه اي است كه مفهوم تعدادي از تكنولوژي هاي جديد M icrosoft را تحت
پوشش قرارمي دهد. در مجموع ، اين تكنولوژي پراهمـيت ترين ، عـظيم ترين و اسـاسي
ترين تغييراتي هستند كه از زمان انتقال از محيط 16 بيتي به محيط 32 بيتي ،در زير
ساخت توسعة برنامه ها توسط M icrosoft به وجود آمده اند .
Microsoft . NET شامل
سه گروه اصلي مي باشد:
· چارچوب NET .
· . NET Enterprise Servers
· ابزارها وزبان هاي جديد سازگار با NAT .
چارچوب
NET
چارچوب . NETيك
تكنولوژي ضروري براي ASP . NET به شمار مي رود . اين چارچوب خدمات و سرويس
هايي را كه از ASP . NET پشتيباني مي كنند ارائه مي دهد . به علاوه ،
تكنولوژي جديد ديگري موسوم به Windows Forms
Development ( توسعة برنامه هاي كاربردي با استفاده از
فرم هاي ويندوز ) را ارائه مي دهد كه براي ساختن برنامه هاي سرويس گيرنده بسيار
قدرتمند مي باشد . همانظور كه Windows NT 4.0 Option
pack به عنوان يك افزودني براي سيستم عامل Windows NT محسوب مي شود و تكنولوژي هاي IIS 4 .0 وASP را به اين سيستم عامل
اضافه مي كرد ، چارچوب NAT . نيـز
يك افزودني براي سـيستم عـامل هاي 2000 Windows ، Windows 98/ME , Windows
NT مي باشد كه با اضافه كردن سرويس هاي اساسي سيستم ، امكان
پشتيباني از تكنولوژي NET . را براي اين سيستم عاملها فراهم مي آورد.اين
چارچوب در خانوادة سيستم عامل هاي جديد Windows ، از جمله NET
Server . Windows گنجانده
خواهد شد .
(CLR)
Common Language Runtime
CLR محـيطي بـراي اجـراي كـدهاي نوشته شده به وسيلة زبان هاي سازگار
با چارچوب NET . ارائه مي دهد. runtime مديريت اجراي كدهاي NET . را به عهده دارد؛ اعم از مديريت مدت زمان زندگي اشياء و مديريت
حافظه . علاوه بر اين خدمات ، runtime به برنامه نويسان يا به عبارتي توسعه دهندگان امكان مي دهد كه عمليات
اشكال زدايي،مهار كردن استثناء ها و وراثت ميان كلاس ها رادربين زبانهاي مختلف
سازگار با NET به
راحتي انجام دهند .
انجام
اين عمليات مستلزم آن است كه كامپايلرهاي زبانهاي مختلف ازCommon
Language pecification يا بـه اخـتصار CLS پيـروي كننـد . CLS مـجموعـة قوانيـن و نوع هاي داده اي را تـعريف مي كنـد كه بيـن
تمام زبان هاي سازگار با NET. مشترك مي باشند . هر يك
از كامپايلرها ، كد نوشته شده توسط برنامه نويسان را به يك زبان مياني موسوم به Microsoft Intermediate Languageيا به
اختصار IL يا MSIL كامپايل مي كند.سپس اين كد مياني درزمان نصب برنامه يا در هنگام
اولين اجرا توسط runtime به
زبان ماشين تبـديل مي شـود . روش كـامپايل كردن كـد در هنگـام اوليـن اجرا را JIT مي گويند . كدي كه به IL تبديل شده و مديريت آن توسط runtime صورت مي گيرد، Managed Code (كد
اداره شده ) ناميده مي شود. علت اين نامگذاري اين است كه مديريت اجراي اين كد، اعم
از ساختن اشياء ، تخصيص حافظه و حذف اشياء بلا استفاده از حافظه توسط runtime انجام مي شود .
مؤلفه
هايي كه با كد IL نوشته
مي شوند و توسط runtime اجرا
مي گردند ، Assemblies .Net Managed يا به اختصاراسـمبلي نامـيده مي شـوند اسمـبلي ها كوچـكترين واحد
دسته بندي اشياء دردنياي NET. مي باشندوبسيار شبيه مؤلفه هاي COM هستند.تفاوت آنها در اين است كه يك مؤلفة COM براي تعيين چگونگي استفاده ازاشياء دروني اش ،يك Type Library به مشتريان خود ارائه مي دهد،در حالي كه يك اسمبلي براي اين
منظور يك مانيفست دارد.مانيفست فهرستي است كه محتويات آن اسمبلي را مشخص مي كند .
اين ويژگي مؤلف هاي NET .
علاوه بر مزاياي ديگري كه بعداً به آنها اشاره خواهد شد . بيانگر اين مطلب است كه
يك اسمبلي نيازي به ثبت در رجيستري كامپيوتر ندارد و خودش شامل اطلاعاتي است كه
محتويات و چگونگي استفاده از آن را مشخص مي سازند .
اطلاعات
موجود درمانفيست ، وابسـتگي ها و شمارة نسخه آن اسمبلي را نيز معين ميكند. اين
اطلاعات به شما كمك ميكند كه به راحتي تمام اسمبلي هاي مورد نياز براي استفاده از
يك اسمبلي را شناسايي كنيد.به علاوه،اين امكان وجود دارد كه چندين نسخة مختلف
ازيك اسمبلي بر روي يك كامپيوتر و بدون ايجاد تداخل با يكديگر كار كنند.اين ويژگي
گام مهمي براي حل يكي از مشكلات فايل هاي DLL مي باشد كه به DLL HELL معروف است و يكي از بدترين
مصيبت هاي هر برنامه نويس مي باشد .كافي است از كسي كه با چند نسخة مختلف ADO كار كرده است دراين مورد مشورت كنيد! با
وجود NET . اين مشكل به دست فراموشي سپرده خواهد شد .
با توجه به اين كه يك برنامة كاربردي مي داند براي استفاده از كدام نسخة يك اسمبلي
طراحي شده است ،با مراجعه به مانفيست به راحتي مي تواند نسخة مورد نظر را از ميان
چند نسخة موجود انتخاب كند.
مطالب
گفتني در مورد runtime بسيار
زياد است و فعلا از آنها صرف نظر مي كنيم .
كتابخانة
چارچوب NET .
كتابخانه
چارچوب NET. مجموعه اي از كلاس هاي پايه است كه
برنامه نويسان مي توانند به طور مستقيم ازآنها استفاده كنند و يا از روي آنها كلاس
هاي جديدي بسازند . كلاس هاي موجود در اين مجموعه به صورت سلسله مراتبي طراحي شده
اند. اين كلاس ها كه بسته به نوع و موارد كاربرد آنها در گروه هاي مختلفي موسوم به
فضاي نامي طبقه بـندي شده اند، توانايي هاي اساسي وپيشرفته اي دارندكه شما به
راحتي مي توانيد آنها رابه خدمت بگيريد.به عنوان مثال،براي هر يك از نوع هاي داده
اي پايه يك كلاس درايـن كتابخانه وجـود دارد.همچنين كلاس هايي براي دسترسي به داده
هاي موجود درپايـگاه داده ، كلاس هـايي بـراي انجـام كارهاي گرافيكي و ترسيمي و … نيز در اين كتابخانه موجود مي باشند .
به
علاوه ، اين كتابخانه شامل كلاس هايي است كه ساختار ASP . NET را شكل مي دهند از جمله Page كه در
فضـاي نـامي System. Web.UI قـرار دارد و تـمام
صـفحات ASP
. NET از آن مشتق مي شوند كلاس هاي ديگري كه در
فضاي نامي System.
Web و فضاهاي نامي دروني آن قرار دارند .
وراثت
وراثت
يكي از مفاهيم اصلي چارچوب NET . است و به شما امكان مي دهد كه از كد درون كلاس هاي موجود
استفاده كنيد . يك كلاس مي تواند ويژگي ها و متدهايي داشته باشد كه كلاس هاي ديگر
آنها را به كار مي برند .كلاس هايي كه با استفاده از تكنيك وراثت از يك كلاس پاية
خاص ساخته مي شوند و به عبارتي از آن مشتق مي شوند، تمام كد موجود دركلاس پايه را
به ارث مي برند.به اين ترتيب . نيازي به نوشتن مجدد كد نيست.به علاوه ،نكته مهم
ديگري كه بايد متذكر شويم اين است كه يك برنامه نويس مي تواند بـا مشتق كردن يك
كلاس جديد از يك كلاس پايه ، يك يا چند متد موجود در كلاس پايه را در كلاس
بازنويسي كند وبه اين ترتيب عملكرد متد يامتدهاي مزبور را دركلاس جديد به شيوه
دلخواه خود تعريف كند .
Enterprise Servers .
نسل
جديد سرويس دهنده ها موسوم به NET Enterprise
Servers اولين گام در تحول زيرساخت توسعة برنامه ها
محسوب مي شود . اگر چه اين سرويس دهنده ها به طور صريح از runtime و كتابخانة چارچوب NET . بهره نمي برند ، ولي پايه واساس محكمي براي ساختن برنامه هاي
كاربردي حرفه اي و سطح بالا ارائه مي دهند.
سرويس
دهنده هاي جديد برنامه هاي ASP عبارتند از :
· SQL Server 2000
· Exchange 2000 Server
· Commerce Server2000
· Host Integration Server 2000
· BizTalk Server 2000
· Internet Security and Acceleration Server 2000
· Application
Center 2000
اين
محصولات در كنارهم بيشتر كارآيي برنامه هاي كاربردي تجاري سطح بالا را ارائه مي
دهند .
Visual Studio . NET
شايد بيشتر برنامه نويسان براي توسعة سريعتر و ساده
تر ،بخواهند در محيط Visual Studio.NET كار كنند . Visual Studio.NET يك
محيط توسعة يكپارچه براي تمام زبان هاي .NET فراهم آورده و اين در
تاريخ بي سابقه بوده است . به اين ترتيب ، برنامه نويسان Visual Basic ، Visual C++ و C # همگي
از همين IDE
استفاده مي كنند.به علاوه ، اشكال زدايي ومهار كردن استثناءها در بين برنامه هايي
كه با زبان هاي مختلف نوشته شده اند ، همگي در همين محيط امكان پذير مي باشد .
Visual Studio.NET چندين
ويژگي جديد قدرتمند دارد كه در اين جا به بعضي از آنها اشاره مي كنيم :
· يك مدل برنامه نويسي منفرد و يكپارچه براي تمام
زبان هاي سازگار با NET . و
برنامه هاي كاربردي مبتني بر وب و ويندوز.
· دسترسي آسان و سريع به امكانات سرويس دهنده با
استفاده از پنجره Server Explorer .
· راهنماي ديناميكي .
· يك مدل قدرتمند براي سفارشي كردن و توسعة IDE .
· پشتيباني قوي از XML .
Visual Basic . NET
همانطوركه
قبلا گفته شد،برنامه نويسانASP .NET ديگرمجبورنيستند ازيك نسخة ضعيف Visual
Basic مثل VBScript استفاده كنند . حالا مي توانند از تمام قدرت زبان Visual Basic بهره ببرند و بايد بدانيد كه قدرت اين زبان
نيز افزايش يافته و اگر بخواهيم به بعضي از اين امكانات جديد اشاره كنيم مي توانيم
از وراثت ، مـهار كردن استـثناء ها به صـورت سـاختار يافته و پشتيباني از برنامه
نويسي Multithread
ياد كنيم .
Visual
Basic .NET زباني است كه مديريت اجراي كدهاي نوشته شده
با آن به عهدة runtime مي
باشد . از اين رو ،آن را به عنوان يك Managed
Language (زبان اداره شده ) مي شناسيم .
ديگر
مجبور نيستند همانند 6 Visual Basic با استفاده از دستور Set
object = Nothing رفرنس به اشيا را از بين ببريد . يكي از ويژگي
هاي چارچوب Garbage Collector , . NET يارفتگر حافظه مي باشد كه حافظة مي باشد كه حافظة اشغال شده توسط
اشيا را در هنگامي كه هيچ رفرنسي به آنها وجود ندارد آزار مي سازد .
ويژگي
جديدVisual Basic .NET
بسيارزيادمي باشند ولي كساني كه قبلاً با VBScript و 6 Visual Basic كاركرده باشد، به راحتي مي توانند ازآنها
استفاده كنند و به اين منظور كافي است با مدل برنامه نويسي NET . آشنا شوند .