งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

1 ทส215 การเขียนโปรแกรมบนเว็บ 1 อาจารย์อรรถวิท ชังคมานนท์ สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์ Cookie &

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "1 ทส215 การเขียนโปรแกรมบนเว็บ 1 อาจารย์อรรถวิท ชังคมานนท์ สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์ Cookie &"— ใบสำเนางานนำเสนอ:

1 1 ทส215 การเขียนโปรแกรมบนเว็บ 1 อาจารย์อรรถวิท ชังคมานนท์ สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์ Cookie & Session

2 2 Collections  เป็น Object ที่เก็บข้อมูลจำนวนหนึ่งเอาไว้ในลักษณะคล้ายกับ Array แต่สามารถเก็บ ข้อมูลที่ต่างชนิดกันได้ และสามารถเข้าถึงข้อมูลได้จากเลขลำดับของข้อมูลหรือ key คือค่าของข้อมูล ซึ่งมีหลายประเภทได้แก่  HashTable  SortedList *  Queue  Stack  ArrayList *  Cookies *

3 3 SortedList  คือ collection ที่ใช้ในการเก็บข้อมูลที่มีลักษณะเป็นคู่ ๆ (key and value)  คุณสมบัติที่สำคัญได้แก่  Count นับจำนวน  Keyเป็นชื่ออ้างอิงที่กำหนดให้แต่ละ element  Itemเป็นรายการของข้อมูลที่ตรงกับ key ที่ระบุ  Valueเป็นค่าของข้อมูลแต่ละ Item

4 4 SortedList  Method ที่สำคัญได้แก่  Addการเพิ่ม elements  Clearการลบทั้งหมด  GetByIndexอ่านข้อมูลตามลำดับ index ที่ระบุ  GetKeyอ่านคีย์ตามลำดับ index ที่ระบุ  IndexOfKeyการหาค่า index ของ key ที่ระบุ  IndexOfValueการหาค่า index ของข้อมูลที่ระบุ  RemoveAtการลบข้อมูล ณ ตำแหน่ง index ที่ระบุ  SetByIndexแทนที่ข้อมูลเดิมด้วยข้อมูลใหม่ ณ ตำแหน่ง index ที่ระบุ

5 5 SortedList Example – WebForm1.aspx WebForm1 Add to SortedList Label

6 6 SortedList Example – WebForm1.aspx.cs Public Class Web1Lab8_WebForm1 : System.Web.UI.Page { private SortedList sortlist = new SortedList(); // ประกาศตัวแปร private void Button1_Click(object sender, System.EventArgs e) { sortlist.Add("1", "one");//add โดยไม่เรียงลำดับ sortlist.Add("4", "four"); sortlist.Add("2", "two"); sortlist.Add("3", "three"); Label2.Text = ""; for(int i = 0; i < sortlist.Count; i++) { Label2.Text += sortlist.GetKey(i) + "-" +sortlist.GetByIndex(i) + " "; }

7 7 SortedList Example ผลลัพธ์ที่ได้เรียงลำดับตาม key

8 8 ArrayList  คือ collection ที่ใช้ในการเก็บข้อมูลที่ไม่ต้องกำหนดขนาดล่วงหน้า และสามารถเก็บ ข้อมูลต่างชนิดกันได้ด้วย  คุณสมบัติที่สำคัญได้แก่  Count นับจำนวน  Method ที่สำคัญได้แก่  Addการเพิ่มข้อมูลต่อท้าย  Insertการแทรกข้อมูล  RemoveAtการลบข้อมูลตามลำดับที่กำหนด  RemoveRangeการลบข้อมูลในช่วงที่กำหนด  Sortการเรียงลำดับข้อมูลจากน้อยไปหามาก  Reverseการเรียงลำดับข้อมูลจากมากไปหาน้อย

9 9 ArrayList Example – WebForm2.aspx Page Language=“c#" AutoEventWireup="false" CodeFile ="WebForm2.aspx.cs" Inherits=“Web1Lab8_WebForm2"%> WebForm2 Add to ArrayList Label

10 10 ArrayList Example – WebForm2.aspx.cs Public Class Web1Lab8_WebForm2 : System.Web.UI.Page { private ArrayList arraylist = new ArrayList(); //ประกาศตัวแปร private void Button1_Click(object sender, System.EventArgs e) { arraylist.Add("one"); arraylist.Add(1); arraylist.Add(DateTime.Now); arraylist.Add(10.25); Label2.Text = ""; for(int i = 0; i < arraylist.Count; i++) { Label2.Text += arraylist[i].ToString() + " "; }

11 11 ArrayList Example ผลลัพธ์ที่ได้ตามลำดับการ add

12 12 Cookies

13 13

14 14 Cookies  คือ collection ที่ใช้ในการเก็บข้อมูลชนิดหนึ่ง ในการสื่อสารระหว่าง client และ server ที่มีการเก็บรักษาข้อมูลบางอย่างไว้บนเครื่องของผู้ใช้ เพื่อจะนำไปใช้ใหม่ ภายหลัง  Cookies ถูกจัดการผ่าน object Response โดยตรง และ การกระทำผ่าน object HttpCookie  รูปแบบการบันทึก Cookies ผ่าน Response Response.Cookies[“CookieName”][[“SubKey”].Property] = Value

15 15 Cookies ผ่าน Response  คุณสมบัติที่สำคัญได้แก่  Expiresใช้อ่านหรือกำหนดวันหมดอายุของ Cookies  Domainกำหนดโดเมนที่เป็นผู้บันทึก Cookies นี้  HasKeysตรวจสอบว่ามีคีย์ย่อย ๆ อีกหรือไม่

16 16 Cookies ผ่าน Response  ตัวอย่างการสร้าง Cookies Response.Cookies[“Cookies1”][“name”] = “aaaaa”; Response.Cookies[“Cookies1”][“major”] = “itmju”; Response.Cookies[“Cookies1”].Expires=DateTime.Now.AddDays(30); คือการกำหนดวันหมดอายุ 30 วัน  ตัวอย่างการอ่านข้อมูลจาก Cookies Str = Request.Cookies[“Cookies1”][“name”];

17 17 Cookies ผ่าน HttpCookie  การสร้าง object Cookies HttpCookie myCookie = new HttpCookie("Cookies1"); myCookie.Values["name"] = "aaaaa"; myCookie.Values["major"] = "itmju"; myCookie.Domain = "iTech.mju.ac.th"; myCookie.Expires = DateTime.Now.AddDays(30); Response.Cookies.Add(myCookie);

18 18 Cookies ผ่าน HttpCookie  การอ่าน object Cookies เช่น HttpCookie myCookie = new HttpCookie("Cookies1"); myCookie = Request.Cookies["Cookies1"]; if (myCookie != null) { Label1.Text = myCookie.Values["name"]; Label2.Text = myCookie.Values["major"]; }

19 19 Cookies Example – WebForm3.aspx WebForm3 Add Cookies Major Name

20 20 Cookies Example – WebForm3.aspx

21 21 Cookies Example – WebForm3.aspx.cs public class Web_08_WebForm3 : System.Web.UI.Page { private void Button2_Click(object sender, System.EventArgs e) { Response.Redirect("WebForm4.aspx"); } private void Button1_Click(object sender, System.EventArgs e) { Response.Cookies["Cookies1"]["name"] = TextBox1.Text; Response.Cookies["Cookies1"]["major"] = TextBox2.Text; Response.Cookies["Cookies1"].Expires = DateTime.Now.AddDays(30); }

22 22 Cookies Example – WebForm4.aspx WebForm4 Label

23 23 Cookies Example – WebForm4.aspx.cs Public Class Web_08_WebForm4 : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { string Str1 = Request.Cookies["Cookies1"]["name"]; string Str2 = Request.Cookies["Cookies1"]["major"]; Label1.Text = "Hello : " + Str1; Label2.Text = "Major : " + Str2; }

24 24 Cookies Example – WebForm4.aspx

25  C:\Documents and Settings\Administrator\Cookies 25

26 Advantages of Cookies  Following are main advantages of using cookies in web application:  It's very simple to use and implement.  Browser's taking care send data.  For multiple sites cookies, Browser automatically arranges them. 26

27 Disadvantages of Cookies  Its store data in a simple text format. so it's not secure at all.  There is a size limit of cookies data ( 4096 bytes / 4KB).  Number if cookies also limited. Most Browser provides limits of storing cookies is 20. If new cookies came, it will discard the old one. Some of browser support up to 300.  We need to configure browser. It will not work on a high security configuration of browser. [I have explained about this in details.] 27

28 28 Application  คือ ตัวแปรในระดับที่แต่ละเพจของเว็บต้องการใช้ในการทำงานภายใต้ขอบเขต เดียวกัน มี 2 ลักษณะคือ  สร้างโดยใช้ Contents Application.Contents[“ชื่อตัวแปร”] Application.Contents[“name”] = “aaaaa”;  สร้างโดยไม่ใช้ Contents Application [“ชื่อตัวแปร”] Application[“name”] = “aaaaa”;  โดยปกติแล้วจะสร้างไว้ในไฟล์ Global.asax

29 29 Application  การนำตัวแปรไปใช้งาน  สร้างโดยใช้ Contents string n = “”; n = Application.Contents[“name”];  สร้างโดยไม่ใช้ Contents string n = “”; n = Application[“name”];

30 30 Application  Method ที่สำคัญได้แก่  Lockสำหรับล็อคไม่ให้ผู้อื่นใช้งาน  UnLockสำหรับยกเลิกการล็อค  Remove[“ชื่อตัวแปร”]ลบตัวแปรนั้น ๆ ออก  RemoveAllลบตัวแปรทั้งหมดออกไป  AllKeys แสดงชื่อตัวแปรทุกตัวของ HttpApplicationState  Count นับจำนวนตัวแปรทุกตัวของ HttpApplicationState  Add() เพิ่มตัวแปร ***  Clear() ลบตัวแปรทั้งหมดออกไป = RemoveAll

31 31 Global.asax(.Net 2003) using System; using System.Collections; using System.ComponentModel; using System.Web; using System.Web.SessionState; namespace Web_08 { public class Global : System.Web.HttpApplication { private System.ComponentModel.IContainer components = null; public Global() { InitializeComponent(); } protected void Application_Start(Object sender, EventArgs e) { Application.Contents["name"] = "aaaaaa"; Application.Contents["major"] = "itmju"; } protected void Application_End(Object sender, EventArgs e) { Application.RemoveAll(); }

32 32 Global.asax (.Net 2005) void Application_Start(object sender, EventArgs e) { // Code that runs on application startup Application.Contents["name"] = "aaaaaa"; Application.Contents["major"] = "itmju"; } void Application_End(object sender, EventArgs e) { // Code that runs on application shutdown Application.RemoveAll(); }

33 33 Application Example – WebForm5.aspx WebForm5 Name = Major =

34 34 Application Example – WebForm5.aspx

35 35 Application Example Simple counter Page requests: <% 8 Application[“hits”] = Application[“hits”] + 1; 9 Response.Write(Application[“hits”]); 10 %> 11 12

36 36 Application Example  browser 1 reads "hit"  browser 2 reads "hit"  browser 1 stores "hit + 1"  browser 2 stores "hit + 1" 8 Application.Lock() 9 Application["hits”] = Application["hits”] Application.Unlock()

37 37 Session  Session ถูกใช้สำหรับการแยกผู้ใช้แต่ละคนว่ามาจากเครื่องไหน และใครเป็น ผู้ส่ง Request อะไรมา และจะส่ง Response กลับไปยัง Client ถูกเครื่องได้ อย่างไร

38 38 Session

39 39 Session  Method ที่สำคัญได้แก่  Abandonการทำลาย Object Session  Remove[“ชื่อตัวแปร”]ลบตัวแปรนั้น ๆ ออก  RemoveAllลบตัวแปรทั้งหมดออกจาก Session  สร้างโดยใช้ Contents Session.Contents[“ชื่อตัวแปร”] Session.Contents[“count”] = 0  สร้างโดยไม่ใช้ Contents Session[“ชื่อตัวแปร”] Session[“count”] = 0  คุณสมบัติที่สำคัญได้แก่  SessionIDใช้กำหนดรหัสของแต่ละเครื่อง  TimeOutกำหนดระยะเวลาของ Session (ค่า default = 20 นาที)

40 Advantages :  It helps to maintain user states and data to all over the application.  It can easily be implemented and we can store any kind of object.  Stores every client data separately.  Session is secure and transparent from user. Disadvantages :  Performance overhead in case of large volume of user, because of session data stored in server memory.  Overhead involved in serializing and De-Serializing session Data. because In case of StateServer and SQLServer session mode we need to serialize the object before store. 40

41 41 Global.asax (.Net 2003) using System; using System.Collections; using System.ComponentModel; using System.Web; using System.Web.SessionState; namespace Web_08 { public class Global : System.Web.HttpApplication{ private System.ComponentModel.IContainer components = null; public Global() { InitializeComponent(); } protected void Session_Start(Object sender, EventArgs e) { Session["count"] = 0; }.... }

42 42 Global.asax (.Net 2005) void Session_Start(object sender, EventArgs e) { // Code that runs when a new session is started Session["count"] = 0; } void Session_End(object sender, EventArgs e) { // Code that runs when a session ends. // Note: The Session_End event is raised only when the sessionstate mode // is set to InProc in the Web.config file. If session mode is set to StateServer // or SQLServer, the event is not raised. }

43 43 Session Example – WebForm5.aspx WebForm5 Name = Major = count =

44 44 Session Example – WebForm5.aspx

45 45 Application & Session Your page requests: <% Session.Contents["hits"] = Convert.ToInt32(Session.Contents["hits"]) + 1; Response.Write(Session.Contents["hits"]) ; %> Total page requests: <% Application.Lock() ; Application.Contents["hits"] = Convert.ToInt32(Application.Contents["hits"]) + 1 ; Application.UnLock() ; Response.Write(Application.Contents["hits"]); %>

46 46


ดาวน์โหลด ppt 1 ทส215 การเขียนโปรแกรมบนเว็บ 1 อาจารย์อรรถวิท ชังคมานนท์ สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์ Cookie &

งานนำเสนอที่คล้ายกัน


Ads by Google