تبلیغات
آموزشASP.NET - ایجاد یک برنامه وب نمونه در دات نت ( بخش پنجم )
 
فردا روشن اسن به
آموزشASP.NET
صفحه نخست         تماس با مدیر         پست الکترونیک        RSS         ATOM
 
 
در این بخش  به بررسی عملیات مرتبط با فاز سوم ، خواهیم پرداخت  .

فاز سوم : اشکال زدائی برنامه  
اشکال زدائی یک برنامه از جمله مواردی است که هر برنامه نویس با آن سروکار خواهد داشت و لازم است برای تشخیص اشکال موجود در برنامه ( گرامری ، منطقی ، زمان اجراء ) از پتانسیل فوق  استفاده تا در زمان مطلوب اشکال موجود در برنامه تشخیص و برطرف گردد . ویژوال استودیو دات نت ، دارای امکانات متعددی در جهت اشکال زدائی برنامه های نوشته شده در محیط دات نت بوده و برنامه های وب نیز از این قاعده مستثنی نبوده و می توان از امکانات موجود در جهت رفع اشکال آنان استفاده نمود.در فاز سوم ایجاد یک برنامه وب ، با نحوه اشکال زدائی ( Debug  ) یک برنامه وب ASP.NET در ویژوال استودیو دات نت ، آشنا شده و به بررسی مواردی همچون تنظیم Break Points ، استفاده از Intellisense در دیباگ و نوشتن در پنجره خروجی ، خواهیم پرداخت

 فاز سوم : اشکال زدائی برنامه 

 مرحله اول : فعال نمودن امکان دیباگ در برنامه های وب  ، در این مرحله با نحوه فعال نمودن دیباگ در برنامه های وب ASP.NET با استفاده از فایل Web.Config آشنا خواهیم شد.

  • فعال نمودن پنجره  Solution Explorer  ( انتخاب گزینه Solution Explorer از طریق منوی View و یا فشردن  کلید های CTRL+ALT+L )

  • فعال نمودن فایل Web.Confing موجود در پنجره Solution Explorer 

  • از فایل Web.Config برای تعریف و مقداردهی پارامترهای لازم در ارتباط با پیکربندی برنامه استفاده می گردد . در این رابطه ، لازم است از وجود  دستورالعمل زیر در بخش  <system.web>   ، اطمینان حاصل گردد.

Verify the following line in  Web.Config

<compilation defaultLanguage="vb" debug="true" />

  • پس از اطمینان از وجود کد فوق ، امکان دیباگ در برنامه فعال و می توان از مزایای آن در جهت اشکال زدائی برنامه ها استفاده نمود .

مرحله دوم : تنظیم برک پوینت ( Break Points ) : در این مرحله ، با نحوه ایجاد  Breakpoint  در یک برنامه وب آشنا خواهیم شد . Break Point ، نقاطی در برنامه هستند  که برنامه اجرای خود را تا آن نقطه انجام و با رسیدن به نقطه فوق ، متوقف شده و برنامه نویس می تواند مقادیر متغیرها ، خروجی و سایر موارد مرتبط با عملکرد برنامه را مشاهده و بر اساس مشاهدات فوق ، اقدام به اشکال زدائی برنامه نماید.

  • فعال نمودن فایل Login.aspx ( کلیک مضاعف بر روی فایل فوق از طریق Solution Explorer )

  • مشاهده صفحه Code Behind ( انتخاب View | Code ، فعال نمودن کلید F7 ، کلیک سمت راست برروی صفحه Login.aspx در پنجره Solution Explorer و انتخاب گزینه View Code

  • انتخاب کد اجرائی زیر در فایل Code Behind و  گزینه Insert BreakPoint ( کلیک سمت راست )

Set  breakpoint

 If (txtUserID.Text.Length >= 4 And txtPassword.Text.Length >= 4 And txtUserID.Text.StartsWith("S")) ...

  • اجرای برنامه ( Debug | Start و یا فعال نمودن کلید F5 )

  • درج  مقادیر مورد نظر در فیلدهای " نام " و  "رمز عبور " ( Srco و Srcopassword )

  • کلیک بر روی دکمه " ورود به سایت "

  • دیباگر در خط مشخص شده ( Break Point ) متوقف و آن را به رنگ زرد ، نمایش خواهد داد :

مرحله سوم : اشکال زدائی هوشمند  : در این مرحله با نحوه استفاده از اشکال زدائی هوشمندانه ، آشنا خواهیم شد.

  • حرکت موس و استقرار آن بر روی بخش Text مربوط به txtUserID.Text . در چنین حالتی یک Tool tip و با مقدار " Srco " ، نمایش داده می شود.

  • حرکت موس و استقرار آن بر روی بخش Length  مربوط به txtUserID.Text.Length  . در چنین حالتی یک Tool tip و با مقدار " 4 " ، نمایش داده می شود .

  • فعال نمودن پنجره Command ( انتخاب Debug | Windows | Immediate )

  • تایپ دستور " txtUserID ?"،  در ادامه تمامی تمامی خصلت های مربوطه نمایش خواهد داد .

  • انتخاب خصلت Text و فشردن کلید Enter . فشردن مجدد کلید Enter به منظور نمایش مقدار موجود در خصلت Text در کنترل txtUserID

مرحله چهارم : استفاده از Debug.write  : در این مرحله با نحوه استفاده از Debug.Write به منظور نوشتن خروجی در پنجره خروجی ، آشنا خواهیم شد .

  • مشاهده صفحه Code Behind ( انتخاب View | Code ، فعال نمودن کلید F7 ، کلیک سمت راست برروی صفحه Login.aspx در پنجره Solution Explorer و انتخاب گزینه View Code

  • افزودن کد زیر درابتدای صفحه Login.aspx.vb .

Add Line

imports System.Diagnostics

  • اضافه نمودن کد زیر به  انتهای متد btnSignin_Click

Add  lines

 Private Sub btnSignin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSignin.Click
         ...

Debug.WriteLine(txtUserID.Text)
Debug.WriteLine(txtPassword.Text)
Debug.Write(lblResult.Text)

End Sub

  • حذف Break point ایجا د شده در مرحله قبل ( Debug | Clear all break points  و یا فعال نمودن کلید های CTRL+SHIFT-F9 )

  • اجرای برنامه ( Debug | Start ، و یا فعال نمودن کلید F5 )

  • نمایش پنجره خروجی ( View | Other Windows | Output  و یا فعال نمودن کلیدهای CTRL+ALT+O )

  • سوئیچ به پنجره مرورگر

  • درج داده مورد نظر در فیلدهای "نام " و " رمز عبور "  "( Srco و Srcopassword )

  • کلیک بر روی دکمه " ورود به سایت "

  • برگشت به محیط ویژوال استودیو و مشاهده مقادیر مربوط به فیلدهای نام ، رمز عبور ، نتایج در پنجره خروجی

توضیحات و رفع اشکالات احتمالی
در زمان فعال نمودن دیباگ در ویژوال استودیو ممکن است با برخی خطاها مواجه و عملا" امکان دیباگ فعال نگردد . در این رابطه لازم است در ابتدا از فعال شدن دیباگ در ارتباط  با پروژه ایجاد شده ، اطمینان حاصل نمائیم . یک پروژه ویژوال استودیو دارای پیکربندی های مجزا برای دیباگ و Relase  می باشد . در صورتی که برنامه با استفاده از ویزاردهای مربوطه در ویژوال استودیو ایجاد شده باشد ، ویژوال استودیو به صورت اتوماتیک ، پیکربندی های مربوطه را ایجاد و گزینه های پیش فرض مناسب را برای آنان در نظر گرفته و مقداردهی مناسب آنان راانجام خواهد داد . برای مشاهده و یا تغییر تنظیمات انجام شده در رابطه با پیکربندی دیباگ ، مراحل زیر را دنبال می نمائیم :

  • انتخاب پروژه از طریق پنجره Solution Explorer
  • انتخاب Property Pages از طریق منوی View  
  • انتخاب Debug ، از طریق لیست Configuration موجود در جعبه محاوره ای Project> Property Pages > 
  • فعال نمودن فولدر Configuration Properties و انتخاب تنظیمات مورد نظری که قصد تغییر آنان را داریم .
  • ویرایش مقادیر مورد نظر در پنجره Properties

در زمان دیباگ نمودن یک برنامه وب ASP.NET برروی کامپیوتری که ویندوز 200 ( نسخه Server ) به عنوان Domain controller به همراه Service Pack 4 نصب شده باشد ، ممکن است با خطای زیر مواجه شویم :

علت اشکال فوق به Account استفاده شده برای اجرای ASP.NET Worker Process ( به صورت پیش فرض IWAM  بر روی Domain Controller می باشد ) مربوط می گردد که دارای مجوز "Impersonate a client after authentication" ، در local security policy نمی باشد .مشکل فوق ، در مواردی که Service Pack 4 ویندوز 2000 نصب و در ادامه ویژوال استودیو نصب شده باشد، محقق می گردد. در چنین وضعیتی  IWAM account دارای مجوز اشاره شده در local security policy نمی باشد . مجوز "Impersonate a client after authentication" ، ( به آن SeImpersonatePrivilege نیز گفته می شود ) یک تنظیم امنیتی جدید است که اولین مرتبه در Service pack 4 ویندوز 2000 ، ارائه شده است . برای حل مشکل فوق ، مراحل زیر را دنبال می نمائیم :

  •  فعال نمودن Domain Controller Security Policy ( از طریق Start|Programs|Administrative Tools )
  • کلیک بر روی Security Settings
  • کلیک بر روی Local Policies و در ادامه کلیک بر روی User Rights Assignment
  • از طریق پانل سمت راست ، Double Click بر روی Impersonate a client after authentication
  • در پنجره Security Policy Setting ، کلیک بر روی Define these policy settings 
  • فعال نمودن دکمه Add و در ادامه Browse
  • در پنجره Select Users or Groups ، انتخاب IWAM account ، کلیک بر روی دکمه Add و فشردن دکمه OK
  • فعال نمودن دکمه OK ( دو مرتبه )
  • برای بهنگام سازی سیاست امنیتی جدید تعریف شده ، دستور زیر را از طریق خط دستور تایپ و اجراء می نمائیم

Enforce an update of the computer policy

 secedit /refreshpolicy machine_policy /enforce

  • راه اندازی سرویس دهنده وب IIS ( تایپ دستور iisreset از طریق خط دستور )

نتایج  فاز سوم   :

  • فعال نمودن دیباگ در برنامه های وب
  • ایجاد Break point
  • اشکال زدائی هوشمند
  • استفاده از Debug.write
  • آشنائی با برخی اشکالات موجود در زمان فعال نمودن دیباگ

در بخش ششم  این مقاله به بررسی سایر  فازهای تعریف شده برای حل مسئله نمونه  ، خواهیم پرداخت .

آموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.
آموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.





نوع مطلب :
برچسب ها :
لینک های مرتبط :


سه شنبه 28 شهریور 1396 03:15 ق.ظ
Currently it seems like BlogEngine is the preferred blogging
platform out there right now. (from what
I've read) Is that what you are using on your blog?
چهارشنبه 15 شهریور 1396 02:59 ب.ظ
hey there and thank you for your info – I have definitely picked up something new from right here.
I did however expertise some technical points
using this site, as I experienced to reload the web site many times
previous to I could get it to load properly. I had been wondering if your web host is OK?
Not that I am complaining, but sluggish loading instances times will sometimes
affect your placement in google and could damage your high-quality score
if advertising and marketing with Adwords. Anyway I am adding this RSS to
my email and can look out for much more of your respective interesting content.
Make sure you update this again very soon.
چهارشنبه 1 شهریور 1396 01:21 ب.ظ
Hello, i think that i saw you visited my site so i
came to “return the favor”.I am trying to find things to enhance my website!I suppose its ok to use a few of your ideas!!
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر


درباره وبلاگ

سلام من آرش کاکاوند دانشجوی رشته کامپیوتر هستم و ورود شما رابه دنیای aspخوش امدمیگم.حتما نظر بدین تا من کارم رو بهتر ادامه بدم

مدیر وبلاگ : ارش کاکاوند
مطالب اخیر
نویسندگان
صفحات جانبی
نظرسنجی
شما کدام یک از برنامه های زیر را برای طراحی وب انتخاب می کنید؟








جستجو

آمار وبلاگ
کل بازدید :
بازدید امروز :
بازدید دیروز :
بازدید این ماه :
بازدید ماه قبل :
تعداد نویسندگان :
تعداد کل پست ها :
آخرین بازدید :
آخرین بروز رسانی :