مقدمه
مايکروسافت و نسخه جديد ويژوال استوديو

شرکت مايکروسافت در نوزدهم نوامبر ۲۰۰۷ (بيست و هشتم آبان ماه هشتاد و شش)، رسماً نسخه ASP. NET 3.5 و ويژوال استوديو ۲۰۰۸ را عرضه کرد. همانند نسخه شماره ۳ که نسبت به نسخه شماره ۲ داراي امکانات بيشتري بود، در اين نسخه نيز نسبت به نسخه قبلي امکانات جديدي اضافه شده است. اسمبلي هاي اساسي نصب شده توسط نسخه شماره ۲ فريمورک، همچنان در نسخه هاي ۲ و۵/۳ قابل استفاده مي باشند. به عبارت ديگر، در نسخه شماره ۵/۳، مفاهيم و نحوه نوشتن کد و مواردي از اين قبيل نسبت به نسخه شماره ۲ تغيير نکرده است. در اين نسخه، نوع ها، ويژگي ها و قابليت هاي جديدي به

فريمورک اضافه شده است. ويژوال استوديو ۲۰۰۸، ابزاري قدرتمند براي پياده سازي برنامه هاي ASP. NET است. برخلاف نسخه قبل که صرفاً مختص يک نسخه خاص فريمورک بود (به عنوان نمونه در ويژوال استوديو ۰/۳، نسخه ASP.NET 1.1 و در ويژوال استوديو ۲۰۰۵ نسخه ASP. NET 2.0)، از ويژوال استوديو ۲۰۰۸ مي توان به همراه چندين نسخه فريمورک استفاده کرد. شما مي توانيد از طريق يک ليست drop down، نوع فريمورک خود جهت پياده سازي برنامه ها (به عنوان نمونه ASP. NET 2.0 و يا ASP. NET 3.5) را انتخاب نمائيد.

شکل ۱ نحوه انتخاب فريمورک در زمان ايجاد يک وب سايت جديد را در ويژوال استوديو ۲۰۰۸ نشان مي دهد.

شکل ۱ : نحوه انتخاب فريمورک در زمان ايجاد يک وب سايت جديد در ويژوال استوديو ۲۰۰۸
در ويژوال استوديو ۲۰۰۸، ‌در محيط طراحي نيز تغييراتي در جهت قدرتمند تر شدن آن ايجاد شده است. افزودن امکاناتي نظير هوشمندي در تايپ و اشکال زدائي کدهاي جاوا اسکريپت و قابليت مشاهده و حتي توقف در هسته کد فريمورک دات نت در حين اشکال زدائي نمونه هايي در اين زمينه ميباشند.

فصل اول

مروري بر ويژگي هاي جديد ويژوال استوديو

مروري گذرا به ويژگي هاي جديد مرتبط با ASP. NET
ارائه يک نسخه جديد فريمورک دات نت و دستاوردهاي آن

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

• ويژگي هائي از فريمورک که مختص پياده کنندگان برنامه هاي ASP.NET ارائه شده اند: اين نوع ويژگي ها جهت پياده سازي برنامه هاي ASP. NET بسيار مهم و حياتي مي باشند. مثلاً پس از معرفي نسخه شماره ۲ ASP. NET، قابليت هاي جديدي نظير کنترل Gridview و کنترل هاي نسبت دهي داده نظير sqlDataSource و ObjectDataSource در اختيار پياده کنندگان قرار گرفت.

• ويژگي هائي از فريمورک که مي تواند براي پياده کنندگان برنامه هاي ASP. NET نيز مفيد واقع شود: اين نوع از ويژگي ها صرفاً مختص ASP. NET نمي باشند و از آنها مي توان در مواردي ديگر نظير WinForm نيز استفاده کرد. از پتانسيل هاي فوق عموما” در ASP. NET استفاده مي گردد. به عنوان نمونه، فريمورک ۲ ، نوع هاي anonymous و Generics را معرفي و وضعيت Dataset را بهبود بخشيد. هيچکدام از موارد فوق مختص ASP. NET نمي باشند.

• ويژگي هائي از فريمورک که توسط پياده کنندگان ASP. NET استفاده نمي گردد: فريمورک دات نت مشتمل بر تعداد زيادي از کلاس هائي است که به ندرت و يا هرگر توسط پياده کنندگان ASP. NET استفاده نمي گردد نظير کلاس هاي موجود در System.Windows.Forms. در ادامه به بررسي دو گروه اوليه خواهيم پرداخت.

علاوه بر وجود تعداد زيادي از کلاس ها و namespace در فريمورک دات نت، اين پوستر دو چيز را کاملاً شفاف نشان مي دهد: اين که چه ميزان از فريمورک دات نت با ASP.NET مرتبط نيست و امکانات و ويژگي هاي جديد اضافه شده به هر يک از نسخه هاي فريمورک دات نت.
شکل ۲ ويژگي هاي ASP. NET 2.0 و قابليت هاي جديد اضافه شده در هر يک از نسخه هاي ۳ و ۵/۳ را نشان مي دهد.

شکل ۲ : امکانات اضافه شده به هر يک از نسخه هاي فريمورک دات نت

ويژگي هائي از فريمورک مختص پياده کنندگان برنامه هاي ASP.NET

ASP.NET 3.5 يک نسخه جديد و ارتقاء‌ يافته نسبت به نسخه قبلي است که سه ويژگي جديد که مختص پياده کنندگان برنامه هاي ASP.NET ارائه شده اند از ساير موارد مشهود تر است:
• حمايت ذاتي از ASP.NET AJAX
• کنترل ListView

• کنترل DataPager
قبل از ASP.NET 3.5، لازم بود که در ابتدا فريمورک ASP.NET AJAX مايکروسافت دانلود و بر روي سيستم به عنوان يک الحاقيه نصب گردد. در ASP.NET 3.5، کلاس هاي مرتبط با AJAX مستقيماً در فريمورک دات نت ساخته شده اند تا امکان ساخت سريع و آسان برنامه هاي وب مرتبط با AJAX در برنامه هاي ASP.NET فراهم گردد.

ASP.NET 2.0 به همراه خود کنترل هاي داده جديدي نظير GridView، DetailsView و FormView را معرفي کرد. کنترل GridView، ليستي از رکوردها را در يک جدول نمايش ميدهد. کنترل هاي DetailsView و FormView در هر لحظه يک رکورد را نمايش مي هند. کنترل DetailsView در يک ساختار نمايشي مشابه جدول و FormView در يک لي اوت متاثر از يک تمپليت خاص، اطلاعات خود را نمايش مي دهند.

ListView در واقع يک نسخه ارتقاء يافته از کنترل هاي DataList و Repeater است که ميتواند چندين رکورد را به همراه قابليت هائي‌ نظير Gridview نمايش دهد. با اين تفاوت که بکارگيري تمپليت ها با انعطاف بيشتري انجام مي گردد.

کنترل DataPager به صورت يک نوع اينترفيس free-standing paging کار مي کند. به عبارت ديگر کنترل فوق، يک رابط کاربر paging را تفسير ( به عنوان نمونه صفحه بعد، قبل، دکمه آخر) و با يک کنترل وب داده مرتبط مي شود. کنترل فوق صرفاً با آن گروه از کنترل هائي کار مي کند که IPageableItemContainer interface را پياده سازي کرده باشند که صرفاً (در حال حاضر) در کنترل ListView وجود دارد.

مروري بر ويژگي هائي که مي تواند براي برنامه هاي ASP. NET مفيد واقع شود:

مهمترين ويژگي ارائه شده در نسخه شماره ۵/۳ فريمورک دات نت، معرفي LINQ (LanguageIntegrated Query) است. با استفاده از فناوري فوق، مي توان گرامري شبيه SQL را با استفاده از زبان هاي برنامه نويسي VB و #C نوشت تا پياده کنندگان بتوانند از داده در برنامه هاي خود استفاده نمايند. به همراه ويژوال استوديو ۲۰۰۸ يک LINQ to SQL designer ارائه شده است که به کمک آن مي توان يک بانک اطلاعاتي را به عنوان يک LINQ به SQL مدل سازي کرد. پس از مدل سازي بانک اطلاعاتي ، مي توان به سادگي کدهاي مورد نظر خود را به منظور کار با داده هاي غير عددي خواند و يا نوشت. کد زير نحوه بازيابي محصولات گروه Test از بانک اطلاعاتي نمونه Northwind را با گرامر مبتني بر LINQ توسط VB و #C نشان مي دهد (کلاس NorthwindDataContext بر اساس مدل طراحي شده، ايجاد شده است).
C#

NorthwindDataContext db = new NorthwindDataContext() ;
var Products = from p in db.Products
Where p.category.CategoryName == “Test”
select P;
VB

Dim db AS New NorthwindDataContext
Dim products = From p In db.products _
Where p.category.categoryName = “Test” _
Select p

LINQ، به سادگي يک گرامر را جهت کار با داده تعريف مي کند. همچنين، ORMs (ObjectRelational Mappers) از قبل تعبيه شده اي وجود دارد که فريمورک مرتبط را به منظور توليد عبارات LINQ ايجاد مي نمايد تا بر روي يک بانک اطلاعاتي و يا XML کار کند.
ويژوال استوديو ۲۰۰۸ از گرامر LINQ در زمان استفاده از آن به صورتFull-IntelliSense حمايت مي نمايد. گرامر LINQ از طريق امکانات جديد ارائه شده در فريمورک دات نت نظير خصلت هاي اتوماتيک، متدهاي extension و عبارات lambda، امکان پذير مي باشد. پرداختن به موارد فوق خارج از حوصله اين مقاله است.

مروري بر ويژگي هاي جديد ويژوال استوديو ۲۰۰۸

ويژوال استوديو ۲۰۰۸ امکانات متعددي را در جهت کمک به پياده کنندگان نظير بهبود محيط Designer، امکانات پيشرفته ويرايش CSS و اشکال زدائي جاوا اسکريپت ارائه کرده است. در اين نسخه از ويژوال استوديو براي پياده سازي برنامه هاي وب مي توان يکي از محيط هاي NET 2.0, NET 3.0 و يا NET 3.5 را انتخاب کرد. اين بدان معني است که شما مي توانيد از ويژوال استوديو براي کار بر روي يک وب سايت پياده سازي شده با ASP.NET 2.0 نيز استفاده نمائيد.
در نسخه قبلي ويژوال استوديو، پياده کنندگان مي توانستند از Designer و يا Source view در زمان ويرايش عناصر ويژوال در يک صفحه ASP.NET استفاده

نمايند. محيط Designer يک نمايش WYSISYG از صفحه را نمايش مي دهد. در Source view، کدهاي markup مربوط به کنترل ها نمايش داده مي شود. در ويژوال استوديو ۲۰۰۸، يک ويژگي جديد با نامSplit screen ارائه شده است که توسط آن کدهاي markup در يک pane و WYSIWYG در pane ديگر نمايش داده مي شود. زماني که در مد split قرار مي گيريم ، همزمان با اضافه کردن محتويات به Designer، بطور اتوماتيک کدهاي markup در Source view بهنگام مي گردند. اگر شما markup جديدي را بطور دستي در Source view درج نمائيد، مجبور خواهيد بود که صفحه را save و يا دکمه refresh را کليک نمائيد تا Designer view نيز بهنگام گردد.

شکل ۳، Split screen را در ويژوال استوديو ۲۰۰۸ نشان مي دهد.

شکل ۳ : Split screen در ويژوال استوديو ۲۰۰۸

همزمان با افزايش تعهد مايکروسافت به AJAX، ويژوال استوديو ۲۰۰۸ امکانات حمايتي بهتري را در ارتباط با جاوا اسکريپت ارائه کرده است. امکانات زمان طراحي و اشکال زدائي بطور کامل بهبود يافته اند. زماني که از طريق source view اقدام به نوشتن کدهاي جاوا اسکريپت مينمائيد، امکانات و قابليت هاي IntelliSense مشابه در زمان نوشتن کدهاي سمت سرويس دهنده در اختيار شما گذاشته مي شود. اين شامل حمايت از کدهاي جاوا اسکريپت inline و اسکريپت هائي است که از طريق فايل هاي جاوا اسکريپت خارجي به آنه مراجعه مي گردد. دستيابي به فايل هاي اسکريپت از طريق گرامري مشابه زير امکان پذير است.
<script language=”javascript” src=”fileName”> </script>

اخيراً شرکت مايکروسافت عنوان نموده است که به زودي کد فريمورک دات نت را تحت مجوز MS-RL در اختيار عموم قرار خواهد داد. نکته جالب مرتبط با اين رويداد براي پياده کنندگاني که از ويژوال استوديو استفاده مي نمايند در اين است که آنها مي توانند ويژوال استوديو ۲۰۰۸ را به يک URL اشاره دهند که شامل نمادهاي اشکال زدائي براي فريمورک دات نت است. بدين ترتيب، در زمان اشکال زدائي امکان ورود به کد فريمورک دات نت فراهم مي گردد. اين موضوع مي تواند به پياده کنندگان کمک نمايد تا شناخت بهتر و عميق تري نسبت به نحوه عملکرد فريمورک دات نت پيدا کنند. هنوز مشخص نشده است که آيا مايکروسافت نمادهاي اشکال زدائي را از طريق يک URL عمومي در دسترس قرار خواهد داد. پس از عموميت URL ، پياده کنندگان مي توانند از طريق ويژوال استوديو به آن اشاره نمايند.

فصل دوم

ويژگي هاي جديد ويژوال استوديو ۲۰۰۸

محيط يکپارچه و رشد يافته (IDE)
انتقال تنظيمات (Settings migration)

اگر شما همزمان ويژال استوديو ۲۰۰۵ و ۲۰۰۸ را در يک کامپيوتر نصب کنيد، وقتي شروع به کار با ويژوال استوديو ۲۰۰۸ مي کنيد، مي توانيد تنظيماتتان را از ويژوال استوديو ۲۰۰۵ برگيريد. هرچند که تنظيمات جزئي کدهاي «سوم شخص» و تنظيمات اضافه شده به طور اتوماتيک منتقل نشده و بايد به صورت دستي در ويژوال استوديو ۲۰۰۸ وارد شوند. اگر ويژال استوديو ۲۰۰۵ و ۲۰۰۸ را همزمان در يک کامپيوتر نداريد، بازهم مي توانيد بصورت دستي (Manual) تنظيمات ويژال استوديو ۲۰۰۵ را براي استفاده در ويژال استوديو ۲۰۰۸ مورد استفاده قرار دهيد.