איטי יותר מה-Declaration Block"> איטי יותר מה-Declaration Block">

Presentation is loading. Please wait.

Presentation is loading. Please wait.

מבוא ל ASP.NET שיעור 2 : מבוא ל ASP.NET מצגת מס' 2

Similar presentations


Presentation on theme: "מבוא ל ASP.NET שיעור 2 : מבוא ל ASP.NET מצגת מס' 2"— Presentation transcript:

1 מבוא ל ASP.NET שיעור 2 : מבוא ל ASP.NET מצגת מס' 2 www.doronamir.com
MCSD DORON AMIR

2 Code Code Declaration Block
מכיל קוד תכנות המופעל בצד השרת << Script runat=server Code Render Block מכיל קוד תכנות המופעל בצד השרת <%...%> מתבצע כאשר הדף נטען לדפדפן בעת הבקשה הראשונה קוד זה מהודר ל MSIL ולאחר מכן ל MACHINE CODE האירוע יגיב רק לאחר משלוח הטופס <asp:textbox id="tbMessage" OnTextChanged="tbMessage_Change" runat="server" /> איטי יותר מה-Declaration Block

3 Managed Code כאשר מבקשים דף aspx לראשונה הוא נטען לאט יותר משאר הפעמים. בפעם הראשונה הדף עובר הידור לשפת מכונה וגם בכל פעם שיתבצע שינוי בקוד המקור של הדף ה CLR אחראי לבצע מעקב לוודא האם התבצע שינוי בקוד המקור

4 View State \ State Less State less :
דף ה WEB אינו שומר את מצב הנתונים לאחר שליחתם View State : מאפשר לשמור את מצב הפקדים לאחר שליחתם ( ASP.NET מנהלת מצב זה אוטומטית)

5 Hidden Fields ASP.Net יוצרת שדות טופס HTML נסתרים בצד הלקוח
מצב הפקדים נשמר כמחרוזת TEXT כאשר הדף נשלח לשרת וחוזר מחרוזת זו מפרשת לדפדפן את מצב הפקדים שהיה לפני שליחת הדף הדפדפן מציג את הדף כולל הנתונים לפני שליחתם

6 ASP.NET: Base Objects Response Request Page Session HttpApplication
HttpServerUtility

7 Response מאפשר לשרת לתקשר עם הלקוח
כאשר המשתמש פונה נוצר מופע מ HttpResponse המופע Response מאפשר להשתמש בשיטות Write שליחת פלט HTTP לדפדפן

8 Response.BufferOutput
החוצץ מחזיק בפלט עד סיום הקוד המופעל בסיום פעולת הקוד הוא שולח את הפלט לדפדפן פלט שאינו מוחזק ב buffer נשלח ישירות לדפדפן ה Buffer משפר ביצועים ופעיל כברירת מחדל Response.BufferOutpu=False סגירה לדוגמה : 2 פעולות Write יופיעו בו זמנית בסיום ביצוע הקוד אך ללא חוצץ כל פעולה תוצג בנפרד

9 שיטות : Response.Write\Flush\End
Buffer שיטות : Response.Write\Flush\End CLEAR : מנקה ומאבדת את המידע שבחוצץ FLUSH : שולחת את המידע שבחוצץ לדפדפן END :מונעת מ Response לשלוח פלט חדש לדפדפן (רק פלט שבחוצץ נשלח)

10 With \ Without Buffering
aspx aspx buffer Browser Browser

11 Response.Redirect לנתב את המשתמש לדף אחר
Response.Redirect(“FirstPage.aspx");

12 Request Object מאפשר לשרת לטפל בנתונים הנשלחים מהדפדפן
בזמן הבקשה שולח הדפדפן מידע לשרת כשמתבצעת הבקשה נוצר אובייקט מסוג HttpRequest אובייקט זה מייצג אל הלקוח השרת מנתח את המידע שהתקבל באובייקט ה Request השרת מחזיר את הדף ע"י אובייקט Response BROWSER SERVER REQUEST DATA DATA HTML RESPONSE

13 GET - QueryString אוסף מידע על הלקוח ( יש גם אוסף מידע : POSTFORM )
מידע המצורף לסוף ה URL ונשלח לשרת הערכים כוללים מידע בזוגות: מפתח+ערך הזוג הראשון מופיע לאחר ה ? שאר הזוגות מופרדים ב & לא מומלץ להעביר כמות גדולה של טקסט (255 תווים)

14 Request.QueryString \ Form
שיטת שליחת נתונים GET Request.QueryString Request.QueryString(‘id”) שיטת שליחת נתונים : POST Request.Form Request.Form(‘id”)

15 Request.ServerVariable
אוסף מידע על השרת Request.ServerVariables(“URL") Request.ServerVariables(“PATH_INFO“) Request.ServerVariables(“PATH_TRANSLATED") Request.ServerVariables(“SERVER_SOFTWARE") SrverName+Domain+URL URL המסלול הפיסי המלא של קובץ בשרת שם התוכנה של השרת

16 Response.Cookies Cookies קובץ טקסט המכיל מידע
מידע : שם משתמש \ סיסמה \ נתוני משתמש לזיהוי ה אוסף Cookies מחזיר ייחוס ל HttpCooke יצירת Cookies ערך בודד Response.Cookies("temp").Value = "HI" זוגות ערכים Response.Cookies("temp")(“User”) = "HI" Response.Cookies("temp")(“Pass”) = “222" C:\Documents and Settings\instructor\Cookies

17 Expires ניתן לקבוע מתי Cookie אינה בתוקף ניתן להתייחס לתאריך מסויים
ניתן לתת זמן יחסי Response.Cookies(“Me”).Expires= _ DateTime.FormString(“1/1/2003”) DateTime.Now.AddMonths(1) לאחר זמן זה ה Cookie ימחק כאשר המשתמש יסגור את הדפדפן

18 Cookie Properties Expire Domain Path HasKeys Secure HTTPS
מגביל לתחום מסויים מגביל את דפי ה ASPX לגשת ל Cookies למסלול מסויים בשרת קובע האם יש צמדי ערכים או ערך בודד האם להעביר את העוגייה בצורה מאובטחת HTTPS

19 Request.Cookies הדפדפן שולח את כל המידע שב-cookie בזמן הבקשה
Request.Coockies(“Me”).Value Request.Coockies(“Me”)(“UserName”) שליפת ערך מאובייקט הבקשה ושליחתו לדפדפן ע"י אובייקט התגובה : Response.write(Request.Coockies(“Me”)(“UserName”))

20 Write the first Cookie Response.Cookies("ME1").Expires = DateTime.Now.AddMonths(1) Response.Cookies("ME1").Value = "Hello From Cookies ME1"

21 Add Cookie Response.Cookies("ME2").Expires = DateTime.Now.AddMonths(1)
Response.Cookies("ME2")("Username") = "Doron Amir “ Response.Cookies("ME2")("Preference") ="800x640“ Response.Cookies("ME2")("Password") = "123“ Response.Cookies("ME2")("LastVisit") = DateTime.Now.ToString Response.Cookies("ME2")("UserAgent")=Request.ServerVariables("HTTP_USER_AGENT") Print By For Each

22 Read From Cookies

23 Find Cookies

24 Page Object מכיל את כל שיטות והמאפיינים עבור דף aspx
דף aspx הוא אובייקט הנוצר ממחלקה שירשה ממחלקת Page אובייקט Page מכיל אירוע Load המתרחש ברגע שהדף מתחיל להיטען לדפדפן האובייקט Page מכיל מאפיין IsPostBack המחזיר False כאשר הדף נטען בפעם הראשונה

25 הזמן יופיע בעת טעינת הדף
Load - Time הזמן יופיע בעת טעינת הדף

26 ToString(“d/D/T/..”)

27 Session Object מאפשר לאחסן פריטים המתאימים למשתמש מסויים
המידע נשמר בשרת כאשר משתמש מבקר באתר השרת מקצה עבורו אובייקט Session השומר את המידע עד אשר המשתמש עוזב את האתר Session("Name ") = txtName.Value Space

28 Session Page1 SERVER למרות המעבר בין הדפים השרת שומר את המידע השייך למופע מסויים ( משתמש) Page2 Session

29 Session Seesion1.aspx Seesion2.aspx

30 SessionID כאשר משתמש יוצר Session נוצר קוד זיהוי ייחודי עבור אותא משתמש הנשמר במחשב הלקוח ב cookie בכל פעם שהמשתמש עובר בין הדפים באתר asp.net קוראת את ה cookie ומשייכת אותו אל ה Session המתאים ניתן לראות את ה SessionID Respnse.Write(Sessin.SessionID)

31 TimeOut \ Abandon קובע כמה זמן פעיל ה Seesion ברירת המחדל : 20 דק'
Session.Timeout=20 ה session יהיה קיים בזיכרון גם לאחר שמשתמש עזב ובכך לגרום לבזבוז זיכרון Abandon כדי לסיים את ה Session כאשר המשתמש עוזב Session.Abandon

32 Multi Session

33 Multi Session

34 Session Without Cookies
Asp.net שומרת את ה SessionID ב Cookie אצל הלקוח ... אבל אם הלקוח אינו תומך ב Cookies ????

35 Cookie munging מעקב אחר Session ללא Cookie
לפני שהדף נשלח asp.net מוסיפה בסוף כל קישור גירסה מקודדת של SessionID כאשר המשתמש לוחץ על הקישור asp.net שולפת את הקוד ומפענחת לאחר מכן מעבירה את הקוד לדף המשתמש כעת דף המשתמש יכול להכיל ערכי Sesson התהליך מתבצע אוטומטית כאשר המשתמש אינו תומך בעבודה אם עוגיות

36 Cookie munging aspx משתמש מבקש דף
User Request Page משתמש מבקש דף לפני הטעינה נוסף לדף מידע לגבי sessionID Add SessionID aspx <a Href=…?sessionID=sshkjashjkhsa2321” User Click on Link כאשר המשתמש לוחץ על קישור הזיהוי מועבר ע"י QueryString וכך ניתן לעבוד עם Session <a Href=…?sessionID=sshkjashjkhsa2321” Session

37 Application Object אובייקט זה מייצג יישום ASP.NET ולא משתמש
Session נוצר עבור כל משתשמש Application נוצר כאשר היתה בקשה מהאתר בפעם הראשונה משתנים המאוחסנים ב Application זמינים עבור כל היישום השתמש ב Application כדי לשמור מידע משותף לכל המשתמשים Application(“Aout”)=“Copyright 2004”

38 Server Utility מספק שיטות לעיבוד בקשות הפניית משתמש לדף אחר
Response.Redirect  שליחת מידע לדפדפן Server.Transfer  אינו שולח מידע לדפדפן הפעלת קוד Server.Executeהפעלת קוד בדף אחר

39 Server.ScriptTimeOut שליטה על הפעלת Script Server.ScriptTimeOut=60

40 Server Utility Server.Transfer Server.Execute Server.HtmlEncode
Server.UrlEncode Server.HtmlDecode Server.UrlDecode Server.MapPath Server.ScriptTimeOut=שניות

41 סיכום Response התקשרות שרת-דפדפן הצגת מידע למשתמש
הפניית המשתמש לדף אחר Request התקשרות דפדפן-שרת קבלת מידע על הלקוח

42 סיכום HttpCookie מנגנון לכתיבה \ קריאה Cookies
משתמש לרוב ב Request & Response Cookies  אחסנה במחשב לקוח חוסך  במשאבי שרת Page מייצג דף aspx

43 סיכום Session מידע על ה Session הנוכחי של הלקוח שימוש במשאבי שרת
Application מייצג יישום אחסון משתים ברמת היישום Server Utility עיבוד בקשות ( הפניות,עיצוב מחרוזות , הפעלת קוד,script )

44 מבוא ל ASP.NET שיעור 2 : מבוא ל ASP.NET מצגת מס' 2 www.doronamir.com
MCSD DORON AMIR


Download ppt "מבוא ל ASP.NET שיעור 2 : מבוא ל ASP.NET מצגת מס' 2"

Similar presentations


Ads by Google