مراحل عملی ايجاد يک برنامه نمونه دات نت New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 دوشنبه  8  خرداد  1396  2017  May  29   Monday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 ايجاد يک برنامه وب نمونه در دات نت ( بخش ششم )

 مديريت وب

9960

7

4.9

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

ايجاد يک برنامه وب نمونه در دات نت ( بخش ششم )

ايجاد يک برنامه وب نمونه در دات نت ( بخش ششم )

 آنچه تاکنون گفته شده است :

  • بخش اول  ايجاد يک برنامه وب و فرم وب  ( فاز اول )
  • بخش دوم : استفاده از کنترل های سرويس دهنده و بررسی کد HTML توليد شده ( فاز دوم ) 
  • بخش سوم : بررسی صحت  و اعتبار داده ها ( فاز سوم )
  • بخش چهارم : افزودن اسکريپت  سمت سرويس گيرنده و درج کد در فايل Code Behind
  • بخش پنجم : اشکال زدائی برنامه

 در اين بخش  به بررسی عمليات مرتبط با فاز چهارم ، خواهيم پرداخت  .

 فاز چهارم : مديريت وضعيت برنامه  
برنامه های وب از معماری سرويس گيرنده و سرويس دهنده تبعيت می نمايند .اين بدان معنی است که بخشی از برنامه بر روی کامپيوتر سرويس گيرنده و بخشی ديگر بر روی سرويس دهنده اجراء و با همياری و همکاری يکديگر ، اهداف تعريف شده در برنامه را دنبال می نمايند. سرويس گيرنده و سرويس دهنده برای ارتباط با يکديگر می بايست از مجموعه ای قوانين مدون ( پروتکل ) استفاده نمايند. در اين راستا از پروتکل HTTP ، استفاده می گردد . ماهيت پروتکل فوق بصورت Stateless  می باشد ، اين بدان معنی است که ارتباط ايجاد شده صرفا" برای يک تراکنش ، نگهداری می گردد .
قبل از اين که يک سرويس گيرنده و سرويس دهنده قادر به مبادله اطلاعات باشند ، می بايست بين آنان يک ارتباط ( Connection ) ايجاد گردد . سرويس گيرنده و سرويس دهنده با استفاده از پروتکل TCP/IP يک ارتباط را برقرار می نمايند . سرويس دهندگان و سرويس دهندگان از پروتکل HTTP برای ارسال درخواست ها و پاسخ به درخواست ها ، استفاده می نمايند . سرويس دهنده  وسرويس گيرنده  ارتباط ايجاد شده را صرفا" برای يک تراکنش نگهداری و در اين راستا ، چهار مرحله عمليات دنبال خواهد شد .

  •  مرحله اول : ايجاد ارتباط . در اين مرحله با استفاده از پروتکل TCP/IP يک ارتباط بين سرويس گيرنده و سرويس دهنده برقرار می گردد . برای تشخيص نوع پروتکل ها ، برنامه ها از يک عدد صحيح منحصر بفرد که " شماره پورت " ، ناميده می شود ، استفاده می نمايند . جدول زير برخی از پروتکل های رايج و شماره پورت نسبت داده شده به آنان را نشان می دهد.

پروتکل

شماره پورت

FTP

21
Telnet 23
SMTP 25
HTTP 80
... ...
  • مرحله دوم :ايجاد يک درخواست توسط سرويس گيرنده . در دومين مرحله ، سرويس گيرنده اقدام به ايجاد يک درخواست و ارسال آن برای سرويس دهنده وب می نمايد.

  • مرحله سوم : پاسخ سرويس دهنده وب .پس از دريافت و تفسير درخواست ارسالی، سرويس دهنده پاسخ لازم را برای سرويس گيرنده ارسال می نمايد.

  • مرحله چهارم : قطع ارتباط بين سرويس دهنده و سرويس گيرنده .سرويس دهنده مسئوليت قطع ارتباط با سرويس گيرنده پس از پردازش و پاسخگوئی به درخواست را برعهده دارد .مسئوليت فوق در انحصار سرويس دهنده نبوده و سرويس گيرنده نيز می بايست توانائی غيرفعال نمودن ارتباط ايجاد شده را داشته باشد . مثلا" در صورتی که شما بر روی دکمه Stop مرورگر خود کليک نمائيد ، مرورگر می بايست توانائی غيرفعال نمودن ارتباط ايجاد شده را دارا باشد .

برنامه های وب با توجه به واقعيت های موجود در رابطه با ماهيت پروتکل HTTP خصوصا" ويژگی Stateless آن می بايست از راهکاری متعددی به منظور نگهداری داده در بين تراکنش های متعدد بين سرويس گيرنده و سرويس دهنده استفاده نمايند( Round trips ). اهميت موضوع فوق تا به آن اندازه است که هر يک از تکنولوژی های موجود که از آنان به منظور پياده سازی برنامه های وب استفاده می شود ، به مقوله " مديريت وضعيت برنامه "  ( State Management ) ، با دقت پرداخته و در اين راستا گزينه های متعددی را در اختيار طراحان و پياده کنندگان برنامه های وب قرار می دهند . با توجه به ماهيت برنامه های وب (جايگاه سرويس گيرنده وسرويس دهنده ) ، راهکارهای ارائه شده دارای گرايش سمت سرويس دهنده و يا سمت سرويس گيرنده می باشند .
با اين مقدمه طولانی و خسته کننده !  به بررسی مديريت وضعيت برنامه با تاکيد بر امکانات ارائه شده سمت سرويس گيرنده و سرويس دهنده در دات نت ، خواهيم پرداخت . در اين راستا هدف ، تشريح تمامی امکانات ارائه شده نبوده و صرفا" قصد داريم با ذکر نمونه هائی به  بررسی دو رويکرد فوق ( سمت سرويس گيرنده ، سمت سرويس دهنده ) ، بپردازيم  .

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

  • استفاده از شی ViewState برای نگهداری داده درج شده در فيلد "رمز  عبور " . بدين منظور کد زير را در انتهای متد btnSignin_Click  ، اضافه می نمائيم .بدين ترتيب پس از فعال شدن متد فوق ، مقدار درج شده در فيلد "رمز عبور" ، بر روی سرويس گيرنده ، نگهداری می گردد .

Client-Side State Management 

Private Sub btnSignin_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSignin.Click
.
  ......
  ViewState("Password") = txtPassword.Text
End Sub

  • سوئيچ به Design view ( انتخاب View | Designer و يا فعال نمودن کليدهای SHIFT + F7 )

  • کليک ( Double ) بر روی دکمه " انصراف" و افزودن کد زير در تابع مسئول به پاسخگودی به رويداد btnRestore_Click

Client side State management using ViewState

Private Sub btnRestore_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRestore.Click
  lblResult.Text = " رمز عبور وارد شده  " & CStr (ViewState("Password"))
End Sub

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

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

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

  • پس از فعال نمودن دکمه "ورود به سايت " ، يک round trip به سرويس دهنده محقق شده و مقدار فيلد "رمز عبور" در شی ViewState نگهداری می گردد ( فيلد txtPassword خالی است ).

  • کليک بر روی دکمه " انصراف "

  • پس از فعال نمودن دکمه فوق ، رمز عبور ورودی در lblResult ، نمايش داده می شود .

مرحله دوم : مديريت وضعيت برنامه سمت سرويس دهنده : در اين مرحله از شی Session برای نگهداری نام درج شده در فيلد "نام " ، بر روی سرويس دهنده استفاده می نمائيم . بدين منظور مراحل زير را دنبال می نمائيم :

  • سوئيچ به صفحه Code behind مربوط به صفحه Login.aspx ( انتخاب View | Code و يا فعال نمودن کليد F7 )

  • استفاده از شی Session برای نگهداری مقدار درج شده در فيلد "نام"  ( افزودن کد زير به متد btnSignin_Click )

Server side State management using Session

Private Sub btnSignin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSignin.Click
 
If (txtUserID.Text.Length >= 4 And txtPassword.Text.Length >= 4 And txtUserID.Text.StartsWith("S")) Then
     lblResult.Text = "کاربر مجاز "
     Session("UserID") = txtUserID.Text
     Response.Redirect("LoginDemo.aspx")
  Else
    lblResult.Text = "کاربر غير مجاز"
End If
 ViewState("Password") = txtPassword.Text
End Sub

  • برای دستيابی به مقدار session در صفحه ای  ديگر ، يک فرم جديد را ايجاد می نمائيم :
    مرحله اول :  فعال نمودن پنجره  Solution Explorer  ( انتخاب گزينه Solution Explorer از طريق منوی View )
    مرحله دوم : انتخاب Project | Add Web Form برای افزودن يک فرم وب جديد( نمايش جعبه محاوره ای Add New Item )
    مرحله سوم : انتخاب  نام مورد نظر برای فرم وب ( LoginDemo.aspx )  و درج آن در فيلد Name و فعال نمودن دکمه Open


            مرحله چهارم :  پس از انجام مراحل فوق ، فرم وب LoginDemo.aspx ايجاد و به پروژه اضافه می گردد .

  • برای نمايش " نام " ، يک کنترل Label را بر روی فرم LoginDemo.aspx ايجاد می نمائيم .
    مرحله اول : سوئيچ  به حالت Design ( کليک بر روی Design Tab )
    مرحله دوم : فعال نمودن پنجره  Toolbox ( انتخاب گزينه Toolbox از طريق منوی View و يا فشردن کليدهای CTRL+ALT+X )

    مرحله سوم : انتخاب کنترل Label  ازطريق Web Forms tab موجود در  Toolbox و استفرار آن بر روی فرم وب 
    مرحله چهارم : تنظيم خصلت های زير برای کنترل Label استفاده شده بر روی فرم وب . ( برای مشاهده پنجره Properties مربوط به يک کنترل ، پس از انتخاب کنترل دستور View|Properties را فعال و يا از کليد F4 ، استفاده می نمائيم ) .

     

    تنظيم خصلت های کنترل Label  

    خصلت

     مقدار

    ID

    lblUserID

    Text

    شما با اين نام وارد سايت سخا روش شده ايد

  • سوئيچ به صفحه Code behind مربوط به صفحه LoginDemo.aspx ( انتخاب View | Code و يا فعال نمودن کليد F7 )

  • افزودن کد زير در متد Page_Load ( بازيابی مقدار "نام " از طريق Session ايجاد شده در صفحه Login.aspx )

Page_Load method 

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   If Not Page.IsPostBack Then
      lblUserID.Text = lblUserID.Text & " " & Session("UserID")
  End If
End Sub

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

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

  • کليک بر روی دکمه "ورود به سايت "  ( نام درج شده در فيلد "نام " ، در Session ذخيره می گردد )

  • در ادامه کاربر به صفحه ديگر ( LoginDemo.aspx ) هدايت و از طريق صفحه فوق پيام : "   "  ، نمايش داده می شود .

نتايج  فاز چهارم  :

  • آشنائی با مفهوم stateless بودن پروتکل HTTP
  • استفاده از ViewState برای نگهداری داده (  سمت سرويس گيرنده )
  • استفاده از شی Session برای نگهداری داده (  سمت سرويس دهنده )

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



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382