شرکت مایکروسافت در هفتم نوامبر 2005 ، نسخه نهائی دات نت 2 ( شامل ASP.NET 2.0 ) ، ویژوال استودیو 2005 و SQL Server 2005 را معرفی نمود .
تمامی محصولات فوق بگونه ای طراحی شده اند تا بتوانند در کنار نسخه های قبلی فعالیت و امکانات خود را در اختیار پیاده کنندگان نرم افزار قرار دهند .
مثلا می توان بر روی یک ماشین نسخه های ASP.NET 1.x و یا ASP.NET 2.0 را نصب و از امکانات هر یک از آنان متناسب با شرایط موجود استفاده نمود .
قبل از هر چیز با فریمورک دات نت ( نسخه 2 ) بیشتر آشنا شویم .
فریمورک دات نت ( نسخه 2 )
فریمورک دات نت ( نسخه 2 ) ، نسخه ای جدید از یک محیط برنامه نویسی شی گراء را ارائه می نماید که با استفاده از آن می توان طیف گسترده ای از انواع نرم افزارها را پیاده سازی نمود :
• برنامه های سنتی با اینترفیس های خط دستوری ( CLI )
• برنامه هائی با رابط کاربر گرافیکی ( GUI )
• برنامه های وب
• سرویس های وب
کتابخانه کلاس های پایه ( BCL ) در فریمورک دات نت ( نسخه 2 ) ، دارای نقشی کلیدی و محوری است که ضمن حمایت از نسخه های قبلی ، با ارائه کلاس های جدید امکان انجام عملیات متداول برنامه نویسی را بیش از گذشته آسان می نماید :
• مدیریت رشته ها
• جمع آوری داده
• ارتباط با بانک های اطلاعاتی
• دستیابی به فایل
علاوه بر موارد فوق ، کتابحانه کلاس های دات نت با بهبود و ارتقاء تعدادی زیادی از namespace ها ، تغییرات محسوسی را در خصوص پیاده سازی انواع نرم افزار باعث شده است :
• ADO.NET 2.0 : شامل کلاس های لازم برای دستیابی داده
• System.Xml 2.0 : شامل کلاس های لازم به منظور انجام عملیات متفاوت بر روی اسناد XMl نظیر خواندن ، نوشتن ، پردازش و تبدیل اسناد
• Windows Form 2.0 : شامل کلاس های لازم به منظور پیاده سازی برنامه هآی سرویس گیرنده ویندوز با رابط کاربر گرافیکی
• ASP.NET 2.0 : شامل کلاس های لازم به منظور ایجاد برنامه ها و سرویس های وب
SQL Server 2005
SQL Server 2005 ، با ارائه مجموعه ای از امکانات و پتانسیل های جدید ، توان عملیاتی و بهره وری پیاده کنندگان بانک های اطلاعاتی را بطرز کاملا محسوسی افزایش می دهد .
پیاده کنندگان بانک های اطلاعاتی می توانند برنامه هائی قدرتمند با بهره گیری از تمامی ظرفیت SQL Server 2005 پیاده سازی نمایند .
مثلا می توان از کتابخانه کلاس های فریمورک دات نت و زبان های برنامه نویسی به منظور پیاده سازی قابلیت های جدید برروی سرویس دهنده استفاده نمود .
با بکارگیری CLR ، می توان stored procedure و triggers را با استفاده از زبان های مورد حمایت دات نت نظیر VB و یا #C کد نمود .
همچنین فریمورک دات نت ، مجموعه ای از کلاس های سمت سرویس دهنده را که دارای قابلیت ها و پتانسیل های از قبل تعبیه شده گسترده ای می باشند ، ارائه می نماید .
ائتلاف CLR و SQL Server 2005 ، مزایای زیر را به دنبال دارد :
• بهبود مدل برنامه نویسی : زبان های برنامه نویسی سازگار با فریمورک دات نت، بمراتب قدرتمند تر از Transact-SQL در موارد متفاوتی می باشند .
• بهبود امنیت و ایمنی : کد مدیریت یافته در محیط CLR اجراء و عملیات هاستینگ آن توسط database engine انجام می شود .
بدین ترتیب اشیاء بانک اطلاعاتی فریمورک دات نت نسبت به Stored procedure نسخه های قبلی SQL Server دارای ایمنی بیشتری می باشند .
• نوع های تعریف شده توسط کاربر و aggregates : دو شی جدید بانک اطلاعاتی می باشند که باعث بهبود ذخیره سازی و توان اعمال query در ارتباط با SQL Server می گردد.
پتانسیل های فوق توسط هاستینگ CLR فعال می گردند .
• محیط پیاده سازی : پیاده سازی بانک اطلاعاتی درون محیط پیاده سازی وپژوال استودیو مجتمع و یکپارچه شده است و پیاده کنندگان می توانند از ابزارهای مشابه به منظور پیاده سازی و اشکال زدائی اشیاء و اسکریپت ها استفاده نمایند .
• کارآئی و قابلیت توسعه : با توجه به این که کد مدیریت یافته قبل از اجراء به native code ترجمه می گردد ، کارآئی برنامه ها بطرز محسوسی افزایش خواهد یافت .
ایجاد برنامه در ویژوال استودیو 2003 و 2005 ایجاد یک برنامه در ویژوال استودیو 2003 مستلزم انجام سه مرحله زیر است : ایجاد یک برنامه دات نت ترجمه برنامه .
ویژوال استودیو 2003 به صورت اتوماتیک صرفا" فایل هائی خاص ( دارای یک نوع خاص ) را ترجمه خواهد کرد .
در چنین مواردی می بایست پیاده کنندگان اقدام به ترجمه سایر فایل ها قبل از استقرار نهائی آنان بر روی سرویس دهنده وب نمایند .
استقرار برنامه بر روی سرویس دهنده وب در ویژوال استودیو 2005 ، ضرورتی ندارد که تمامی فایل ها را درون یک اسمبلی ترجمه نمود .در چنین مواردی علاوه بر ترجمه اتوماتیک فایل های aspx .
، فایل هائی دیگر با انشعاب cs .
و یا Vb .
نیز ترجمه خواهند شد .
بدین ترتیب ایجاد و استقرار برنامه ها بر روی سرویس دهنده وب با سهولت بیشتری نسبت به گذشته انجام خواهد شد .
ایجاد تغییرات در ویژوال استودیو 2003 و 2005 در ویژوال استودیو 2003 ، در صورت نیاز به اعمال تغییرات در یک برنامه می بایست تمامی پروژه را فعال و پس از اعمال تغییرات مورد نیاز آن را مجددا" ترجمه و کد را بر روی سرویس دهنده قرار داد.
در ویژوال استودیو 2005 ، می توان صرفا" فایل هائی را که لازم است بر روی آنان تغییراتی اعمال گردد را فعال و پس از اعمال تغییرات ، آنان را بر روی سرویس دهنده وب منتشر نمود ( بدون این که لازم باشد آنان را مجددا" ترجمه نمائیم ).
ایجاد یک وب سایت توسط ویژوال استودیو 2005 (بخش اول) ویژوال استودیو دات نت نسخه 2005 ، یک محیط پیشرفته به منظور طراحی وب سایت های پویا و یا برنامه های وب را در اختیار پیاده کنندگان قرار می دهد .
به همراه ویژوال استودیو دات نت 2005 ، ابزار پیاده سازی برنامه های وب که از آن با نام VWD ( برگرفته از Visual Web Developer ) نیز نام برده می شود ارائه شده است .
VWD ، مجموعه ای از ابزارها و برنامه های کمکی به منظور ایجاد وب سایت های مبتنی بر ASP.NET 2.0 را در اختیار پیاده کنندگان قرار می دهد .
در این مقاله قصد داریم با نحوه ایجاد یک وب سایت با استفاده از امکانات ویژوال استودیو دات نت 2005 آشنا شویم .
بدین منظور مراحل زیر را دنبال نموده و پس از انجام هر مرحله نتایج را بررسی خواهیم کرد.
مرحله اول : ایجاد یک وب سایت و صفحه جدید مرحله دوم : افزودن کنترل های سرویس دهنده به صفحه مرحله سوم : نوشتن روتین های پاسخگو در زمان بروز یک رویداد ( Event handlers ) مرحله اول : ایجاد یک وب سایت و صفحه جدید برای ایجاد یک وب سایت در محیط ویژوال استودیو از گزینه های زیر می توان با توجه به شرایط موجود استفاده نمود : ایجاد یک وب سایت مبتنی بر سیستم فایل : این نوع سایت ها ، صفحات و سایر فایل ها را در یک فولدر موجود بر روی سیستم محلی ذخیره می نمایند .
در چنین مواردی ضرورتی به نصب IIS بر روی کامپیوتر محلی وجود نداشته و می توان از ASP.NET Development Server همراه با ویژوال استودیو دات نت استفاده نمود .
ایجاد یک وب سایت محلی با استفاده از امکانات ارائه شده توسط سرویس دهنده وب مایکروسافت ( IIS ) : در این نوع سایت ها که با فرض نصب IIS بر روی سیستم ایجاد خواهند شد ، تمامی فایل ها و صفحات در یک فولدر زیر مجموعه و در مسیر ریشه محل نصب IIS ( معمولا" \Inetpub\wwwroot \ ) ذخیره خواهند شد .
پس از ایجاد وب سایت ، برای اجرای برنامه از آدرس http://localhost/yourFolderName/YourPage.aspx استفاده می گردد .
ایجاد یک وب سایت بر روی یک سرویس دهنده راه دور : این نوع سایت ها بر روی یک سرویس دهنده از راه دور ایجاد خواهند شد و می توان از طریق اینترنت و با استفاده از پروتکل FTP اقدام به ارسال فایل ( و یا دریافت فایل ) به وب سایت مورد نظر نمود .
ایجاد یک وب سایت جدید در این مقاله ایجاد یک وب سایت را با لحاظ کردن گزینه اول و انجام مراحل زیر دنبال می نمائیم : اجرای ویژوال استودیو دات نت انتخاب گزینه Web site از طریق File |New .
در ادامه جعبه محاوره ای New Web Site نمایش داده می شود .
در پنجره Visual Studio installed templates ، گزینه ASP.NET Web Site را انتخاب می نمائیم ( در زمان ایجاد یک وب سایت ، از یک تمپلیت استفاده می گردد .
هر تمپلیت برنامه وبی را ایجاد می نماید که شامل فایل ها و فولدرهای مختلفی است ) .
از طریق فیلد Location ، ( از طریق این فیلد می بایست نوع وب سایت و مکان ذخیره فایل ها و صفحات وب سایت را مشخص نمود ) گزینه File System را انتخاب کرده و در ادامه نام فولدر محل ذخیره فایل ها و صفحات وب را تایپ می نمائیم ( مثلا" C:\Mywebsite ) .
از لیست Language ، یکی از گزینه های # Visual Basic ، Visual C و یا # Visual J را انتخاب می نمائیم ( زبان برنامه نویسی انتخاب شده در این مرحله به عنوان گزینه پیش فرض برای وب سایت در نظر گرفته خواهد شد .
در یک برنامه وب می توان از چندین زبان برنامه نویسی استفاده نمود و متناسب با شرایط موجود در زمان ایجاد هر صفحه زبان برنامه نویسی آن را انتخاب نمود ) .
انتخاب گزینه OK شکل زیر ، مراحل اشاره شده را نشان می دهد : پس از انجام مراحل فوق ، فولدر محل استقرار فایل ها و یک صفحه جدید با نام Default.aspx ایجاد می گردد .پس از ایجاد صفحه فوق ، به صورت پیش فرض Source view نمایش داده می شود ( در Source view ، می توان عناصر html مربوط به صفحه را مشاهده نمود ) .
پس از ایجاد ساختار اصلی وب سایت ، در ادامه می توان یک فرم وب جدید را متناسب با خواسته موجود ایجاد نمود .
ایجاد یک فرم وب جدید پس از ایجاد یک وب سایت جدید ، ویژوال استودیو یک صفحه ASP.NET ( صفحات فرم های وب ) را با نام Default.aspx ایجاد می نماید.
در صورت تمایل می توان صفحه فوق را به عنوان صفحه اصلی سایت در نظر گرفت .
در ادامه با نحوه ایجاد یک صفحه وب جدید آشنا می شویم .
بدین منظور مراحل زیر را دنبال می نمائیم : صفحه Default.aspx را غیر فعال نمائید ( close ) از طریق Solution Explorer ، بر روی وب سایت مورد نظر کلیک سمت راست نموده و گزینه Add New Item را انتخاب نمائید .
در پنجره Visual Studio installed templates ، گزینه Web Form را انتخاب نمائید .
در فیلد Name ، یک نام دلخواه برای صفحه وب را تایپ نمائید ( نظیر FirstWebpage ) در لیست Language ، زبان برنامه نویسی مورد نظر خود را انتخاب نمائید ( #Visual Basic , C و یا #J ) .
توجه داشته باشید با این که در زمان ایجاد وب سایت ، زبان پیش فرض برای وب سایت مشخص شده است ولی هر مرتبه که یک صفحه و یا عنصر جدید ایجاد می گردد، می توان زبان پیش فرض انتخاب شده را تغییر داد .
همانگونه که قبلا" نیز اشاره گردید ، در یک وب سایت می توان از زبان های برنامه نویسی متفاوتی استفاده نمود .
CheckBox مربوط به Place Code in Separate file را غیر فعال نمائید .( در این مثال ، از یک فایل برای ذخیره کد ها و تگ های html استفاده شده است .
در صورت تمایل می توان کد صفحات ASP.NET را در یک صفحه و یا کلاس فایل جداگانه ذخیره نمود) .
شکل زیر ، مراحل اشاره شده را نشان می دهد : افزودن تگ های Html به صفحه برای افزودن تگ های Html به یک صفحه مراحل زیر را دنبال می نمائیم : در بخش پائین صفحه بر روی گزینه Design tab کلیک نموده تا به Design view سوئیچ نمائید .
در Design view ، صفحه ای که با آن کار می کنید به صورت WYSIWYG نمایش داده می شود .
با توجه به این که تاکنون متن و یا محتویات خاصی در صفحه تایپ نشده است ، این بخش خالی است .
بر روی صفحه متن مورد نظر خود را تایپ نمائید ( ایجاد اولین صفحه با استفاده از ویژوال استودیو 2005 ) به Source View سوئیچ نمائید .
در این مرحله شما تگ های Html را مشاهده می نمائید که در Design View ایجاد شده اند.
اجرای صفحه قبل از افزودن کنترل به صفحه ، می توان صفحه را اجراء نمود .
برای اجرای یک صفحه به یک سرویس دهنده وب نیاز است.
در یک وب سایت عملیاتی و نهائی ، از IIS به عنوان سرویس دهنده وب استفاده می گردد .
برای تست یک صفحه ، شما می توانید از ASP.NET Development Server که به صورت محلی اجراء شده است (به IIS نیاز نمی باشد) ، استفاده نمائید .
برای وب سایت های مبتنی بر فایل ، سرویس دهنده وب پیش فرض ASP.NET Development Server می باشد .
برای اجرای صفحه موارد زیر را دنبال می نمائیم : فعال کردن کلیدهای CTRL+F5 برای اجراء صفحه برنامه VWD ، سرویس دهنده ASP.NET Development Server را آغاز می نماید.
یک Icon درقسمت پائین toolbar نمایش داده شده و نشاندهنده این موضوع است که سرویس دهنده وب VWD فعالیت خود را آغاز نموده است ( ) .
در ادمه ، صفحه در مرورگر نمایش داده می شود .
با این که صفحه ای که ایجاد نموده اید دارای یک انشعاب aspx .
است ولی اجرای آن همانند یک صفحه HTML است .
(در صورتی که با پیام خطای 502 برخورد نمائید و پیامی مبنی بر عدم امکان نمایش صفحه نمایش داده شود ، می بایست تنظیمات مرورگر را بگونه ای انجام داد که از سرویس دهنده پراکسی استفاده ننماید ) .
در بخش دوم ، به بررسی مراحل دوم ( افزودن کنترل به صفحه ) و سوم ( نوشتن روتین های پاسخگو در زمان بروز یک رویداد ) ، خواهیم پرداخت .
ایجاد یک وب سایت توسط ویژوال استودیو 2005 ( بخش دوم ) در بخش اول با اولین مرحله ایجاد یک وب سایت توسط ویژوال استودیو 2005 آشنا شدیم .
در این بخش به بررسی مراحل دوم ( افزودن کنترل به صفحه ) و سوم ( نوشتن روتین های پاسخگو در زمان بروز یک رویداد ) ، خواهیم پرداخت .
مرحله دوم : افزودن کنترل های سرویس دهنده به صفحه صفحات وب پویا ، در مقابل خواسته کاربران پاسخگو بوده و متناسب با درخواست آنان اطلاعات را تولید و عرضه می نمایند .
این موضوع جایگاه مهم فرم های وب را به خوبی مشخص می نماید .
با استفاده از فرم های وب ، کاربران درخواست خود را ارسال و پاسخ آن را از سرویس دهنده دریافت می نمایند .
در فرم های وب از چندین نوع کنترل سرویس دهنده به منظور انجام پردازش های سمت سرویس دهنده استفاده می گردد : کنترل های Input و Validation در ارتباط با کاربر بوده و داده مورد نیاز پردازش ها را تامین می نمایند.
کنترل های Script Activation ، مسئولیت فراخوانی برنامه های فرعی و توابع را به منظور انجام پردازش های مورد نیاز برعهده دارند.
کنترل های خروجی و نمایش اطلاعات ، نواحی مقصد بر روی صفحات را مشخص نموده تا ماحصل اجرای اسکریپت ها در آن نواحی نمایش داده شود .
کنترل های منبع داده در ارتباط با منابع داده خارجی بوده و اطلاعات مورد نیاز برای پردازش و یا نمایش را ارائه می نمایند .
کنترل های navigation ، تسهیلات لازم به منظور حرکت در یک سایت را در اختیار کاربر قرار می دهند .
در ASP.NET فرم ها و کنترل های موجود بر روی آنان به منزله اشیاء سرویس دهنده بوده ( نه عناصر HTML ) و امکان دستیابی به آنان توسط اسکریپت های سمت سرویس دهنده وجود دارد .
پس از مقدمه فوق که هدف از بیان آن آشنائی با جایگاه فرم ها و نقش کنترل های سرویس دهنده است ، در ادامه با نحوه اضافه کردن کنترل های سرویس دهنده بر روی یک صفحه آشنا می شویم .
در این مرحله سه کنترل سرویس دهنده ( button ,Label,TextBox ) را به صفحه اضافه می نمائیم و تنظمیات لازم را برای هر یک از آنان انجام خواهیم داد .
کنترل TextBox : کنترل فوق از جمله کنترل های سرویس دهنده ورودی است که با استفاده از آنان می توان بخش رابط کاربر یک فرم وب را پیاده سازی و اطلاعاتی را از کاربر دریافت نمود .
RadioButton , RadioButtonList , CheckBox ,CheckBoxList , DropDownList و ListBox از دیگر کنترل های سرویس دهنده ورودی می باشند .
کنترل label : کنترل فوق از جمله کنترل های سرویس دهنده خروجی است که با استفاده از آن یک ناحیه بر روی صفحات وب ایجاد و می توان خروجی مورد نظر را در آن ناحیه درج نمود .
Panel , Table و Image از دیگر کنترل های سرویس دهنده خروجی می باشند .
کنترل Button : کنترل فوق از جمله کنترل های سرویس دهنده ای است که با استفاده از آن می توان یک اسکریپت را فعال نمود .
LinkButton ,ImageButton و ImageMap نمونه هائی دیگر در این زمینه می باشند .
افزودن کنترل به صفحه سوئیچ به Design View فشردن کلید SHIFT+ENTER برای ایجاد فضای خالی ( در صورت لزوم چندین مرتبه ) از طریق Toolbox و گروه استاندارد ، سه کنترل اشاره شده را انتخاب و آنان را بر روی صفحه قرار می دهیم.
( button ,Labels,TextBox ) در قسمت بالای کنترل TextBox قرار گرفته و یک متن دلخواه را تایپ نمائید ( مثلا" "لطفا" نام خود را وارد نمائید: " ) .
متن فوق به عنوان caption کنترل TextBox در نظر گرفته می شود .
تنظیم خصلت های کنترل VWD ، روش های متفاوتی را برای تنظیم خصلت کنترل های موجود بر روی یک صفحه وب در اختیار پیاده کنندگان صفحات وب قرار می دهد .
در ادامه با نحوه تنظیم خصلت کنترل ها در حالت Design View و Source View آشنا می شویم .
کنترل Button را انتخاب کرده و در ادامه و از طریق پنجره Properties ، خصلت Text آن را "نمایش نام " در نظر می گیریم .
به Source View سوئیچ نمائید .
در این mode ، تگ های Html صفحه به همراه عناصری که VWD برای کنترل های سرویس دهنده ایجاد کرده است ، نمایش داده می شوند .
کنترل ها از گرامری شبیه Html استفاده می نمایند با این تفاوت که آنان دارای یک پیشوند asp: و خصلت " runat="server ، می باشند.
تمامی کنترل ها درون یک تگ قرار داده می شوند که شامل خصلت " runat="server است .
خصلت فوق و پیشوند asp: هر یک از کنترل ها این امکان را فراهم می نماید که بتوان از طریق اسکریپت های سمت سرویس دهنده به آنان دستیابی و پردازش های مورد نیاز را انجام داد .
مکان نما را در محلی درون تگ قرار داده و کلید spacebar را فعال نمائید .
یک لیست Drop-down نمایش داده شده و مجموعه ای از خصلت هائی را که می توان برای کنترل Label تنظیم نمود ، نشان داده می شود.
به ویژگی فوق IntelliSense گفته شده و باعث می شود بتوان زمانی که در Source View می باشیم با گرامر کنترل های سرویس دهنده ، تگ های Html و سایر آیتم های موجود بر روی صفحه به سرعت دستیابی داشت .
خصلت ForeColor را انتخاب نموده و یک علامت "=" را تایپ نموده بلافاصله IntelliSense لیستی از رنگ ها را نشان می دهد .
در هر لحظه می توان با فشاردادن کلیدهای CTRL+J لیست Intellisense Drop-down را مشاهده نمود.
مرحله سوم : نوشتن روتین های پاسخگو در زمان بروز یک رویداد ( رویداد onclick کنترل button ) در این مرحله کد لازم برای خواندن نام تایپ شده توسط کاربر در کنترل Textbox و نمایش آن در کنترل label نوشته می گردد.
برای افزودن یک روتین پاسخگوی پیش فرض ، مراحل زیر را دنبال می نمائیم : سوئیچ به Design View بر روی کنترل Button کلیک می نمائیم ( Double Click ) .
در ادامه ، VWD به Source View سوئیچ نموده و یک Skeleton event handler برای رویداد پیش فرض ( click ) کنترل Button را ایجاد می نماید .
( Double Click بر روی یک کنترل در Design view صرفا" یکی از روش های موجود برای ایجاد event handlers است ) .
درون handler ، عبارت Label1 را تایپ نمائید .
در ادامه VWD ، لیستی از اعضاء قابل استفاده در رابطه با کنترل label را نشان می دهد : پس از اتمام Click event handler کد زیر را خواهیم داشت : زمانی که در Sourec View هستیم ، کنترل asp:Button دارای یک خصلت "onClick="Button1_Click است .
خصلت فوق ، روتین Button1_Click را به رویداد Click کنترل button نسبت می دهد .
مرحله نهائی : اجرای برنامه برای اجرای برنامه و مشاهده آن در مرورگر می توان از کلیدهای CTRL+F5 استفاده نمود .
در ادامه صفحه مجددا" با استفاده از ASP.NET Development Server اجراء می گردد .
پس از درج یک نام دلخواه در Textbox و کلیک برروی دکمه Button ، نام تایپ شده در Label نمایش داده می شود .پس از کلیک بر روی دکمه button ، صفحه برای سرویس دهنده وب ارسال خواهد شد و ASP.NET مجددا" صفحه را ایجاد ، کد موجود در صفحه را اجراء و صفحه جدید را برای مرورگر ارسال می نماید ( یک round trip برای سرویس دهنده) .
در صورت مشاهده source صفحه ارسالی در مرورگر (با استفاده از گزینه View | Source ) ، صرفا" تگ های Html نشان داده شده و کنترل های سرویس دهنده که با asp: شروع می شوند را مشاهده نخواهیم کرد.
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Label1.Text = TextBox1.Text & ", اولین صفحه ایجاد شده توسط ویژوال استودیو دات نت" End Sub