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

Slides:



Advertisements
Similar presentations
ממיבחניםC שאלות ++.
Advertisements

תוכנה 1 סמסטר א ' תשע " ב תרגול מס ' 7 * מנשקים, דיאגרמות וביטים * לא בהכרח בסדר הזה.
מבוא למדעי המחשב לתעשייה וניהול
Building ActiveX Controls מרצה : דורון אמיר MCSD Doron Amir
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
ActiveX Data Objects (ADO) מרצה : דורון אמיר MCSD Doron Amir
©Silberschatz, Korth and Sudarshan4.1Database System Concepts סכימה לדוגמא.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 מערכות קבצים מבוזרות  מבוא : שקיפות ושמירת מצב.  דוגמה : Network File System.
דוד שוורץ, עידן זק, נטע צור וחיה כהן. הפונקציונאליות : המשתמש יבחר קובץ שעליו הוא רוצה לבצע את האנליזה, וילחץ עליו עם כפתור ימני בעכבר. יפתח תפריט ובו.
Time Based Identification of Web Attackers המעבדה לאבטחת מידע המעבדה לאבטחת מידע סמסטר חורף תשס " ט הטכניון מנחים: עמיחי שולמן אלדד שי מבצעים: גליה סימנובסקי.
Introduction to (Web) Application Security Or: things you will not learn in univerity. (ummmm…) Yoav Goldberg BGU Software Engineering and Programming.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
CCN CCN Central Control Network Final presentation Winter & Spring 2002/03 Student : Kormas Tal Guide : Gerber Alex.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
דוד שוורץ, עידן זק, נטע צור וחיה כהן. הפונקציונאליות:  המשתמש בוחר קובץ שעליו הוא רוצה לבצע את האנליזה, ולוחץ עליו עם כפתור ימני בעכבר.  נפתח תפריט.
מערכות הפעלה ( אביב 2009) חגית עטיה ©1 מערכת קבצים log-structured  ה log הוא העותק היחיד של הנתונים  כאשר משנים בלוק (data, header) פשוט כותבים את הבלוק.
תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
מה היום ? - - חזרה מהירה. - קריאה וכתיבה לקבצים. - בניית תוכנית כתיבה low-level - בניית ערוץ גלובלי והדגמה מול חומרה - low-level DAQ, פולימורפיזם וטריגר.
Text to speech In Mobile Phones איתי לוי. הקדמה שימוש בהודעות טקסט על המכשירים הסלולארים היא דרך תקשורת מאוד פופולארית בימינו אשר משתמשים בה למטרות רבות,
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
אתחול עצמים. אתחולים ובנאים יצירת מופע חדש של עצם כוללת: הקצאת זכרון, אתחול, הפעלת בנאים והשמה לשדות במסגרת ריצת הבנאי נקראים גם הבנאי/ם של מחלקת הבסיס.
מבוא ל ASP.NET שיעור 4 : מבוא ל ASP.NET שיעור 4 : מבוא ל ASP.NET מצגת מס ' 4 MCSD DORON AMIR.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Methods public class Demonstrate { public static void main (String argv[]) { public static void main (String argv[]) { int script = 6, acting = 9, directing.
תכנות אסינכרוני, תקשורת ופיתוח אפליקציות ל- Windows 8.1 ואפליקציות ל- Windows Phone 8 Control (Part II)
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
תכנות מכוון עצמים ושפת ++C וויסאם חלילי. TODAY TOPICS: 1. Function Overloading & Default Parameters 2. Arguments By Reference 3. Multiple #include’s 4.
קצת היסטוריה 1981דיווח ראשון על תסמונת כשל חיסוני נרכש בקרב מספר הומוסקסואלים. 1981דיווח על ביטויים שונים של איידס בקרב מזריקי סמים, חולי המופיליה, מקבלי.
מחרוזות – הטיפוס String
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 1 פרק 5 תרשימי מצבים Statecharts למחלקות תגובתיות Reactive Classes הקדמה ודוגמא.
אחסן, סנכרן ושתף את הקבצים שלך
© Keren Kalif JDBC קרן כליף.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Object Oriented Programming
Object Oriented Programming
Computer Architecture and Assembly Language
Object Oriented Programming
XML מבוא כללי MCSD Doron Amir
מבוא לתכנות מונחה עצמים Object Oriented Programming
© Keren Kalif JSF + Facelets קרן כליף.
Web Services ASP.NET כתב: אקת'ם חאג' יחיא ליווי מקצועי : ארז קלר
XML מבוא כללי פרק ג' MCSD Doron Amir
SQL בסיסי – הגדרה אינדוקטיבית
מבוא ל ASP.NET שיעור 1 : מבוא ל ASP.NET מצגת מס' 1
Practical Session 12 File Systems, part 2
מדריך קוואלטריקס למתחילים
תכנות מכוון עצמים ושפת JAVA
עבודה עם נתונים באמצעות ADO.NET
Practical Session 11 File Systems, part 2
Practical Session 11 File Systems, part 2
תכנות מכוון עצמים בשפת JAVA
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
מבוא ל Maven אליהו חלסצ'י תכנות מתקדם תרגול מספר 3
Web Services ASP.NET מצגת זו מתבססת על המצגת המקורית שנכתבה ע"י: אקת'ם חאג' יחיא ליווי מקצועי : ארז קלר
© Keren Kalif Servlet קרן כליף.
Asynchronous programming
תקשורת סריאלית מגיש: דביר דדון מנחה: ד"ר מרטין לנד.
מבוא לתכנות בWINDOWS ב#C
ניתוח מערכות מידע תכנות ב C#
תכנות מכוון עצמים ושפת JAVA
תכנות מכוון עצמים ושפת JAVA
תזכורת על מה דיברנו שיעור שעבר? בנינו אתר אינטרנט עם כותרות
מבוא לתכנות מונחה עצמים Object Oriented Programming
תוכנה 1 תרגול 13 – סיכום.
תכנות מכוון עצמים ו- C++ יחידה 02 העמסת פונקציות, ערכי ברירת מחדל, enum, קימפול מותנה קרן כליף.
Computer Architecture and Assembly Language
פרק 3 - תהליכים.
Presentation transcript:

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

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

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

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

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

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

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

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

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

With \ Without Buffering aspx aspx buffer Browser Browser

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

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

GET - QueryString אוסף מידע על הלקוח ( יש גם אוסף מידע : POSTFORM ) מידע המצורף לסוף ה URL ונשלח לשרת הערכים כוללים מידע בזוגות: מפתח+ערך הזוג הראשון מופיע לאחר ה ? שאר הזוגות מופרדים ב & לא מומלץ להעביר כמות גדולה של טקסט (255 תווים) http://www.MySite.com?id=111&Name=Doron

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

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

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 instructor@localhost[1].txt

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

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

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

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

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

Read From Cookies

Find Cookies

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

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

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

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

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

Session Seesion1.aspx Seesion2.aspx

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

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

Multi Session

Multi Session

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

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

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

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

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

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

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

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

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

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

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