Công nghệ web - Bài 9: Server object

Biến trạng thái: giá trị được lưu trữ trong bộ nhớ » Mỗi biến thể hiện dạng: key => value » Phân loại  Client Side: View State, Hidden Field, Cookies, Control State  Server Side : Session, Application, Caching, Database Chú ý: Mỗi đối tượng có một timeout riêng Timeout là khoảng thời gian quy định hoạt động nếu không có tương tác từ giữa Server và Brower

pdf15 trang | Chia sẻ: thuychi16 | Lượt xem: 691 | Lượt tải: 2download
Bạn đang xem nội dung tài liệu Công nghệ web - Bài 9: Server object, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài 9:Server Object Lê Quang Lợi Email: loilequang@gmail.com loilq@utehy.edu.vn Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY » State mangement » Server » Application » Sesstion » Cookies » ViewState Bài 09: Server Object Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY » Biến trạng thái: giá trị được lưu trữ trong bộ nhớ » Mỗi biến thể hiện dạng: key => value » Phân loại  Client Side: View State, Hidden Field, Cookies, Control State  Server Side : Session, Application, Caching, Database Chú ý: Mỗi đối tượng có một timeout riêng Timeout là khoảng thời gian quy định hoạt động nếu không có tương tác từ giữa Server và Brower 9.1 Quản lý trạng thái(State Management) Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY » Thời gian/ phạm vi hoạt động Application Session Session Session ViewState ViewState time 9.1 Quản lý trạng thái(State Management) Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY » Biến Application  Tồn tại khi khởi động ứng dụng hoặc khởi động lại  Mất đi khi ứng dụng ngừng hoạt động » Phạm vi: toàn bộ ứng dụng web(kể cả các phiên làm việc) » Lưu trữ trạng thái của ứng dụng: server state » Truy xuất: có thể truy xuất tất cả các trang » Ứng dụng: Đếm số người online và số lần truy cập 9.2 Application Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 9.2 Application(file Global.ASCX) » Chứa các sự kiện của ứng dụng web void Application_Start(object sender, EventArgs e) { // ứng dụng bắt đầu hoạt động } void Application_End(object sender, EventArgs e) { // Ứng dụng ngừng hoạt động } void Application_Error(object sender, EventArgs e){ // Ứng dụng bị lỗi } void Session_Start(object sender, EventArgs e){ // Tạo một sesstion} void Session_End(object sender, EventArgs e) { } Bắt đầu Kết thúc ứng dụng Bắt đầu Kết thúc phiên làm việc Sự kiện khi ứng dụng bị lỗi Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY » Tạo biến Application: Application.Add(key,value); » Thay đổi giá trị: Application[index/name]= Value; Application.Content[index/name]= Value; Application.Set(key/name, value); » Sử dụng: var = Application[index/name] » Loại bỏ biến: RemoveAll, Remove Application.Remove(name); » Các sự kiện: Applcation_start, Application_End » Thuộc tính: Count, Keys » Phương thức: Lock, UnLock, Get 9.2 Application Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 9.2 Application void Application_Start (object sender, EventArgs e) { Application.Add("counter",0); if (Application["Counter"] == 0) { Application["Counter"] = 1; } Application.Remove("Counter"); } Tạo biến Lấy dữ liệu Thiết lập Loại bỏ Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY » Thể hiện một phiên truy cập  Bắt đầu : khi triệu gọi ứng dụng lần đầu  Kết thúc: thực sự dời bỏi ứng dụng/ vượt TimeOut » Tác dụng trong phiên và trên toàn ứng dụng » Vùng biến nhỏ trên phía server » Ứng dụng: Giỏ hàng, trạng thái đăng nhập, thông tin đăng nhập (phiên làm việc hiện tại) 9.3 Session Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY » Tạo biến Session: Session.Add(key,value); » Thay đổi giá trị Session[index/name]= Value; Session.Content[index/name]= Value; Session.Set(key/name, value); » Sử dụng: var = Session [index/name] » Loại bỏ biến: RemoveAll, Remove Session.Remove(name); » Các sự kiện:Session_Start, Session_End » Thuộc tính: Count, Keys, SessionID, LCID » Phương thức: CopyTo 9.3 Session Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 9.3 Session bool Islogin = false; if (this.Session["IsLogin"] == null){ Session.Add("IsLogin", false); } else { string t=Session["Islogin"].ToString(); islogin = bool.Parse(t); } } Sử dụng giá trị Tạo biến Sử dụng giá trị Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY » Cookies: tương tự như Session » Biến với vùng nhớ nhỏ » Vị trí: lưu trữ Server hoặc Brower » Tầm hoạt động: như Session » Ứng dụng: lưu trữ thông tin cơ bản người dùng, trạng thái đăng nhập, Giỏ hàng, các biến tạm tại một phiên 9.4 Cookies Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 9.4 Cookies » Tạo Cookies: HttpCookie a = new HttpCookie(); » Thêm: Response.Cookies.Add(a); » Thay đổi: a.Value= value:// Thiết lập » Sử dụng: var = a.Value; // lấy giá trị » Loại bỏ: Response.Cookies.Add/Remove/Cleare(a); » Thuộc tính: name, Value, count, Keys » Phương thức: Get, Set Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 9.4 Cookies protected void Page_Load (object sender, EventArgs e){ HttpCookie myCookies = new HttpCookie("name", "value"); this.Request.Cookies.Add (myCookies); } protected void Page_Load (object sender, EventArgs e) { // biến sử dụng cookies HttpCookie myCookies = Request.Cookies["name"]; myCookies.Value = "10"; // gán giá trị string str = myCookies.Value;// lấy giá trị } Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY » Vùng nhớ được lưu trữ phía Client Site » Lưu trữ giá trị tạm thời: page, Controls, Hidden Field » Thiết lập ViewState: EnableViewState=”True/False” » Tạo ViewState:  ViewState["Var"]=Count;  ViewState.Add( key, value); » Sử dụng: string Test=ViewState["TestVal"]; 9.5 ViewState
Tài liệu liên quan