همه چيز درباره ASP.NET 2.0
اشاره :
فناوري ASP.NET يك بستر برنامهنويسي است كه بر اساس سيستم CLR در چارچوب دات نت كار ميكند. اين فناوري امكاني را فراهم ميآورد تا در سايه آن برنامهنويس بتواند با استفاده از هريك از زبانهاي برنامهنويسي موجود در چارچوب دات نت، صفحات دايناميك و نرمافزارهاي تحت وب توليد كند. نسخه اول ASP.NET توانست با فراهم ساختن قابليتهاي پيشرفته زبانهاي برنامهنويسي شيگرا، همچون ويژوال بيسيك دات نت و سي شارپ، تحول بزرگي را نسبت به نسل قبلي (ASP) ايجاد كند. نسخه دوم ASP.NET همان مسير را با بهبود عملكرد موتور ASP.NET در زمينه مديريت و توسعه نرمافزار و نيز آسانتر كردن روند برنامهنويسي طي كرده است. در اين مقاله مهمترين تغييرات و قابليتهاي جديد ASP.NET2.0 را بررسي خواهيم كرد. مخاطب اين مقاله برنامهنويساني هستند كه قبلاً با فناوريASP.NET آشنايي پيدا كردهاند و اكنون مايلند به تدريج به پلتفرم جديد مهاجرت كنند.
تازههاي ASP.NET 2.0
اولين سؤالي كه براي هر برنامهنويس علاقمند به ASP.NET به وجود ميآيد اين است كه نسخه دوم اين فناوري چه ويژگيها و قابليتهاي جديدي دارد و كدام قسمتها نسبت به نسخه اول دچار تغيير و تحول شدهاند و اگر كسي بخواهد پلتفرم برنامهنويسي خود را به ASP.NET 2.0 منتقل كند، آيا مجبور است تمام دانش و تجربه خود در زمينه ASP.NET 1.x را دور بريزد و از نو بياموزد؟
با خواندن اين مقاله پاسخ همه اين سؤالات را خواهيد يافت. خوشبختانه معماري ASP.NET 2.0 به گونهاي است كه لازم نيست زحمات و تجربيات گرانبهاي خود در كار با ASP.NET 1.x را دور بريزيد.
ميتوانيد از قابليتهاي جديد نسخه دوم استفاده كنيد و همزمان سورس كدهايي كه با ASP.NET 1.x نوشتهايد را با كمي تغيير، در پلتفرم جديد مورد بهرهبرداري قراردهيد.
خبر خوب اين است كه ASP.NET 2.0 صددرصد با ASP.NET 1.x سازگار است. بنابراين ميتوانيد برنامه
ASP.NET 1.x خود را بدون حتي يك خط تغيير در سورس كد روي سروري كه براي اجراي ASP.NET 2.0 تنظيم شده است، اجرا كنيد. شكل 1 نمايي از پنجره تنظيمات يك سايت روي IIS 6.0 را نشان ميدهد كه امكان تغيير دادن فناوريASP.NET را از نسخه يك به دو و يا برعكس فراهم ميكند.
اين tab ويژه، پس از نصب NET Framework 2.0 روي ويندوز سرور، به ساير Tabها در پنجره تنظيمات سايت افزوده ميشود. براي آزمودن ادعاي فوق، كافي است پنجره تنظيمات سايتي كه هماكنون با ASP.NET 1.x نوشتهايد را باز كنيد و آن را روي نسخه دوم ASP.NET تنظيم كنيد و دوباره سايت را اجرا نماييد. همه چيز مانند قبل بدون تغيير قابلمشاهده خواهد بود.
اما اجازه دهيد ببينيم تغييرات در كجا رخ دادهاند. اگر معماري يك نرمافزار تحت وب را مطابق با معماري معروف سه لايه (3Tier) فرض كنيم، يعني ساختار نرمافزار يك سايت از لايههاي نمايش (Presentation)، موتور اصلي نرمافزار (Business Layer) و ارتباط با پايگاه دادهها (Data Layer) تشكيل شده باشد، آنگاه ميتوان گفت كه در
ASP.NET 2.0 بيشترين و مهمترين تغييرات در لايه نمايش رخ دادهاند؛ هرچند كه بهبودهايي در دو لايه ديگر نيز رخ داده و قابليتهاي سودمند و جالبي نيز به كل مجموعه افزوده شده است.
در حقيقت ميتوان گفت كه ASP.NET 2.0 شكل رسمي و نظام يافته اغلب قابليتها و ويژگيهايي است كه برنامهنويسان حرفهاي ASP.NET 1.x قبلاً آنها را به صورت دستي و با ابتكار خودشان به وجود آورده بودند. بنابراين تنها بخش كوچكي از قابليتهاي جديد ASP.NET 2.0 چيزهايي هستند كه در پلتفرم ASP.NET 1.x قابل حصول نبودند. اگر جزو آن دسته از طراحان وب هستيد كه متكي به چارچوب اصلي ASP.NET 1.x هستند و خودشان تلاش چنداني در توسعه مكانيزمهاي عناصر پايه ASP.NET به كار نميبرند، ASP.NET 2.0 حرفهاي زيادي براي شما دارد.
ولي اگر جزو آن دسته از برنامهنويسان هستيد كه با استفاده از نمونه سورس كدهاي مجاني در اينترنت يا با تكيه بر خلاقيت خودتان، اشيا و قابليتهاي پايهاي ASP.NET 1.x را توسعه دادهايد و كامپوننتها و قابليتهاي جديدي ايجاد كردهايد، ممكن است هنگام رجوع به قابليتهاي جديد نسخه دوم، در انتخاب ميان سورس كد خودتان و شيوه جديد بهكار رفته در نسخه دوم بر سر دوراهي قرار بگيريد. خوشبختانه ASP.NET 2.0 راهي را پيش روي اين دسته از برنامهنويسان گذاشته كه به كمك آن ميتوانند به يك وضعيت متعادل از هر دو حالت برسند كه تركيبي از سورس كد قبلي خودتان و قابليتهاي جديد نسخه دوم است. در اين مقاله مفصلاً به اين موضوع خواهيم پرداخت، اما پيش از آن اجازه بدهيد مرور سريعي بر تعدادي از ويژگيهاي آشكار پلتفرم ASP.NET 2.0 داشته باشيم.
برخي ويژگيهاي پلتفرم ASP.NET 2.0
1- براي آشنايي با فضاي كلي برنامه نويسي در Visual Studio 2005 خوب است قبل از آموختن ASP.NET 2.0 به مقالات و كتابهاي تأليف شده درباره محيط برنامه نويسي ويژوال بيسيك 2005 يا سي شارپ 2005 نگاهي بيندازيد. همانطور كه ميدانيد ASP.NET 2.0 بر شالوده فناوري دات نت 2 بنا شده است و بدون آشنايي با شيوه برنامهنويسي با يكي از زبانهاي داتنت2 نميتوانيد از ASP.NET 2.0 استفاده كنيد. يك نمونه از اين مقالات قبلاً در ماهنامه شبكه (شماره 65) به چاپ رسيده است. همچنين خواندن مقالات نگاهي به قابليتهاي جديد 2005 SQL Server (شماره 68) و كسبوكار هوشمند در SQL Server 2005 در شماره 69 را به منظور آشنايي با نرمافزار 2005 SQL Server توصيه ميكنم.
2- فايلهاي موسوم به <پروژه> در ويژوال استوديوي 2005 حذف شدهاند و اكنون همه چيز در فايل solution هر پروژه قرار دارد. بنابراين مديريت پروژههاي ASP.NET اكنون آسانتر از گذشته است و سايتها ميتوانند به سادگي از مكان فيزيكي فعلي خود باز شوند.
3- در محيط Visual Web Developer 2005 يا Visual Studio 2005، يعني محيطي كه برنامههاي ASP.NET 2.0 داخل آن نوشته ميشوند، دو روش براي اجراي سايتها و صفحات دايناميك وجود دارد. روش اول همان روش قديمي است. به اين ترتيب كه يك وبسايت روي IIS تعريف ميكنيد و سپس هنگام تعريف يك پروژه جديد، آدرسHTTP آن سايت را به ويژوال استوديو ميدهيد تا فايلهاي پروژه را آنجا بگذارد. در اين صورت هنگام بازكردن و اجراي سايت، اين صفحات روي آدرس HTTP سايت مربوطه باز ميشوند. در اين حالت شما براي آزمايش كاركرد سايتي كه درست كردهايد، نيازمند اجراي وب سرور IIS هستيد.
روش دوم كه روش جديدي در ASP.NET 2.0 است نيازي به وجود IIS نيست. اين روش به صورت پيشفرض روي ويژوال استوديوي 2005 تنظيم شده و هنگام آزمايش و مشاهده يك صفحه دايناميك در حالت اجرا، يك وب سرور كوچك روي يك پورت تصادفي خاص (روي http://localhost) اجرا ميشود و صفحات سايت به كمك آن قابل اجرا و مشاهده خواهند بود. (شكل 2)
اين روش سه مزيت دارد كه عبارتنداز:
●نيازي به نصب IIS نيست. بنابراين ميتوان كار برنامهنويسي را روي يك ويندوز دسكتاپ (مثلاً اكسپي) انجام داد. ضمناً نيازي به نصب نسخه استاندارد SQL Server هم نيست؛ زيرا ويژوال استوديو به روش مشابهي ميتواند به كمك يك نرمافزار كوچكتر به نام SQL Server 2005 Express Edition كه همراه ويژوال استوديو نصب ميشود، نياز به وجود يك پايگاه اطلاعاتي را تأمين كند.
● عدم نياز به فايلهاي موسوم به <پروژه>. هر سايتي ميتواند از محل فيزيكي خودش به آساني باز شود؛ زيرا اجباري در وابسته كردن پروژه به يك IP خاص نيست.
● امنيت بيشتر در محيط برنامه نويسي. عدم نياز به IIS براي تست صفحات عملاً به اين معنا است كه ميتوانيد اصلاً IIS را نصب نكنيد و لابد ميدانيد كه هرچه تعداد سرويسهاي درحال اجرا روي يك سيستم كمتر باشد، امنيت آن بيشتر است. ضمن اينكه اجراي سايت روي يك پورت تصادفي از localhost امكان حدسزدن URL صفحات پروژه را براي هكرها دشوار ميسازد.
4- ويژوال استوديوي 2005 بر خلاف نسخه 2003 همه روشهاي دسترسي به يك سايت راه دور را به صورت مناسب و آسان در اختيار برنامهنويس ميگذارد. بنابراين اگر ميخواهيد سايت پروژه خود را از طريق FTP يا از طريق شبكه (فايل سيستم) آپلود كنيد، ابزار قدرتمندي براي اين منظور در اختيار شماست. شكل 3 نمايي از ابزار Copy Web Site را نشان ميدهد. به كمك اين ابزار ميتوانيد پروژه خود را مستقيماً به سايت مقصد آپلود كنيد.