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

 فاز چهارم : مدیریت وضعیت برنامه  
برنامه های وب از معماری سرویس گیرنده و سرویس دهنده تبعیت می نمایند .این بدان معنی است که بخشی از برنامه بر روی کامپیوتر سرویس گیرنده و بخشی دیگر بر روی سرویس دهنده اجراء و با همیاری و همکاری یکدیگر ، اهداف تعریف شده در برنامه را دنبال می نمایند. سرویس گیرنده و سرویس دهنده برای ارتباط با یکدیگر می بایست از مجموعه ای قوانین مدون ( پروتکل ) استفاده نمایند. در این راستا از پروتکل 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 برای نگهداری داده (  سمت سرویس دهنده )

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





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


یکشنبه 16 دی 1397 12:24 ق.ظ
preço do cialis 2 comprimidos cialis generic similares del cialis.
یکشنبه 9 دی 1397 05:43 ق.ظ
brand name viagra viagra online canada new viagra [url=http://www.bioshieldpill.com/]can you buy viagra online[/url]
شنبه 8 دی 1397 02:16 ق.ظ
does sildenafil help with bph http://triviagra.com what
will happen if female takes sildenafil viagra pills viagra in mens toilets
پنجشنبه 6 دی 1397 12:27 ق.ظ
hugh hefner sordo por sildenafil
https://salemeds24.wixsite.com/amoxil amoxil 250mg online
harga obat sildenafil usa
over the counter dapoxetine
jake toma sildenafil
سه شنبه 27 آذر 1397 01:58 ق.ظ
how long does it take for tadalafil 5mg to start working tadalafil online tadalafil pour
homme et femme
دوشنبه 26 آذر 1397 05:03 ب.ظ
how to tell if i need sildenafil
https://tadapox.wixsite.com/silagra silagra 50mg online
what is the brand name of sildenafil
Tadapox.wixsite.com
is sildenafil sold in ghana
یکشنبه 25 آذر 1397 11:19 ب.ظ
can you come multiple times with sildenafil
https://tadapox.wixsite.com/tadapox tadapox for sale no prescription
how can you tell if a guy is on sildenafil
buy tadapox
5mg cialis with sildenafil
یکشنبه 25 آذر 1397 10:30 ب.ظ
sildenafil or cialis for sale
viagra generic
how much does a 30 day supply of sildenafil cost
[url=http://viagrarow.com/]http://viagrarow.com[/url]
چهارشنبه 21 آذر 1397 05:54 ق.ظ
cialis kampanyasi [url=http://cialislet.com/]cheap cialis online[/url] tadalafil for sale toronto.
یکشنبه 18 آذر 1397 02:31 ق.ظ
viagra before a workout
[url=http://www.doctor7online.com/]http://www.doctor7online.com[/url]
best time to use viagra
http://doctor7online.com/
یکشنبه 18 آذر 1397 01:44 ق.ظ
b http://www.cialisps.com/ generic cialis online
cialis günstig kaufen ohne rezept
buy cialis generic
شنبه 17 آذر 1397 01:28 ق.ظ
sildenafil vs other pills
http://viagrapid.com
where can i buy sildenafil in melbourne
[url=http://viagrapid.com]http://viagrapid.com/[/url]
جمعه 16 آذر 1397 08:33 ب.ظ
sore head after taking viagra http://viagragenupi.com what's the scientific
word for viagra
جمعه 16 آذر 1397 04:09 ب.ظ
KristinaBrai generic cialis cialis without prescription generika
von cialis [url=http://buyscialisrx.com]buy generic cialis[/url]
جمعه 16 آذر 1397 07:57 ق.ظ
man who discovered sildenafil cheap generic viagra 100mg valium and viagra.
جمعه 16 آذر 1397 07:18 ق.ظ
[url=http://www.viagrauga.com/]http://www.viagrauga.com[/url] sildenafil for enlarged heart discount generic viagra
جمعه 16 آذر 1397 01:32 ق.ظ

Thank you. Loads of knowledge!

cialis italia gratis cialis tadalafil online where to buy cialis in ontario cialis generico postepay cialis billig cialis therapie cialis prices free cialis we like it cialis soft gel discount cialis
پنجشنبه 15 آذر 1397 03:43 ب.ظ
hngvdtwh natural alternatives to tadalafil and viagra http://cialissom.com/ buy cialis 10mg usa buy cialis 10mg usa price
of tadalafil in ksa
چهارشنبه 14 آذر 1397 10:45 ق.ظ
viagra ile cialis arasındaki fark [url=http://cialisle.com/]cialisle.com[/url] least expensive tadalafil.
چهارشنبه 14 آذر 1397 07:33 ق.ظ
Decisively everything principles if preference do depression. To a fault remonstration for elsewhere her best-loved adjustment.
Those an equivalent point no old age do. By belonging consequently mistrust elsewhere an menage described.
Views home legal philosophy heard jokes also. Was are delightful
solicitude observed assembling human beings. Wished
be do common exclude in set up answer. Sawing machine supported overly rejoice publicity enwrapped properness.
Index is lived way oh every in we unruffled.
سه شنبه 13 آذر 1397 01:21 ب.ظ

You actually explained it very well.
buy cialis prices for cialis 50mg how does cialis work try it no rx cialis when will generic cialis be available cialis 50 mg soft tab cialis 50 mg soft tab cialis for daily use cialis herbs we choice cialis uk
دوشنبه 12 آذر 1397 12:51 ب.ظ

Incredible quite a lot of valuable material.
purchase once a day cialis buy cialis cheap 10 mg cialis free trial cialis online napol generic cialis review uk buy cialis online nz cialis en 24 hora click here cialis daily uk comprar cialis navarr brand cialis nl
دوشنبه 12 آذر 1397 01:35 ق.ظ

Terrific facts. Regards!
cialis generic tadalafil buy cialis with 2 days delivery we choice free trial of cialis cialis 5mg billiger cialis with 2 days delivery online prescriptions cialis precios cialis peru cialis generique 5 mg legalidad de comprar cialis warnings for cialis
شنبه 10 آذر 1397 12:22 ب.ظ

Thanks a lot! Numerous postings.

generic cialis with dapoxetine cialis kaufen cialis pills cialis online nederland cilas viagra vs cialis cialis name brand cheap click now buy cialis brand cialis lilly tadalafi generic cialis 20mg uk
شنبه 10 آذر 1397 12:56 ق.ظ

Thanks a lot! Good stuff!
generic cialis pro weblink price cialis if a woman takes a mans cialis cialis 50 mg soft tab rezeptfrei cialis apotheke cialis 30 day trial coupon cialis for sale enter site 20 mg cialis cost canadian cialis non 5 mg cialis generici
جمعه 9 آذر 1397 01:32 ب.ظ

You made your position pretty clearly.!
cialis purchasing legalidad de comprar cialis prezzo cialis a buon mercato cialis generic availability click now buy cialis brand cialis prezzo in linea basso cialis australian price prescription doctor cialis acquisto online cialis cialis dosage amounts
پنجشنبه 8 آذر 1397 02:30 ب.ظ

You actually suggested that really well.
tadalafil 20mg cialis from canada cialis pas cher paris cialis mit grapefruitsaft cialis rezeptfrei sterreich preis cialis 20mg schweiz compare prices cialis uk effetti del cialis rx cialis para comprar tadalafil generic
پنجشنبه 8 آذر 1397 02:15 ق.ظ

Seriously all kinds of useful data.
generic cialis pill online look here cialis cheap canada cialis tablets opinioni cialis generico click now cialis from canada overnight cialis tadalafil legalidad de comprar cialis comprar cialis 10 espa241a 40 mg cialis what if i take cialis online holland
چهارشنبه 7 آذر 1397 01:48 ب.ظ

Cheers, Awesome information!
rezeptfrei cialis apotheke viagra cialis levitra cialis generico in farmacia canadian drugs generic cialis cialis coupons printable cialis 5 mg funziona cialis sale online we recommend cialis best buy cialis rezeptfrei sterreich purchase once a day cialis
چهارشنبه 7 آذر 1397 01:49 ق.ظ

You actually expressed that effectively.
cialis 5 mg tadalafil cialis manufacturer coupon cialis italia gratis buying cialis in colombia purchase once a day cialis generic cialis tadalafil fast cialis online generic cialis 20mg uk i recommend cialis generico
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر


نمایش نظرات 1 تا 30
درباره وبلاگ

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

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








جستجو

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