Bài 9 cung cấp kiến thức về Server Object. Các điểm chính trong bài gồm: Quản lý trạng thái (State Management), application, application (file Global.ASCX), session, cookies, ViewState. Mời các bạn cùng tham khảo.
Bài 9:Server Object Lê Quang Lợi Email: loilequang@gmail.com loilq@utehy.edu.vn Bài 09: Server Object » State mangement » Server » Application » Sesstion » Cookies » ViewState Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 9.1 Quản lý trạng thái(State Management) » Biến trạng thái: giá trị lưu trữ nhớ » Mỗi biến thể 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ó timeout riêng Timeout khoảng thời gian quy định hoạt động khơng có tương tác từ Server Brower Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 9.1 Quản lý trạng thái(State Management) » Thời gian/ phạm vi hoạt động Application Session ViewState Session ViewState Session time Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 9.2 Application » Biến Application Tồn khởi động ứng dụng khởi động lại Mất ứng dụng ngừng hoạt động » Phạm vi: toàn ứng dụng web(kể phiên làm việc) » Lưu trữ trạng thái ứng dụng: server state » Truy xuất: truy xuất tất trang » Ứng dụng: Đếm số người online số lần truy cập … 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 kiện ứ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 Bắt đầu Kết thúc ứng dụng Sự kiện ứng dụng bị lỗi } void Session_Start(object sender, EventArgs e){ // Tạo sesstion} void Session_End(object sender, EventArgs e) { } Bắt đầu Kết thúc phiên làm việc Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 9.2 Application » 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 kiện: Applcation_start, Application_End » Thuộc tính: Count, Keys » Phương thức: Lock, UnLock, Get 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) { Tạo biến Application.Add("counter",0); if (Application["Counter"] == 0) { Lấy liệu Application["Counter"] = 1; Thiết lập } Application.Remove("Counter"); Loại bỏ } Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 9.3 Session » Thể phiên truy cập Bắt đầu : triệu gọi ứng dụng lần đầu Kết thúc: thực dời bỏi ứng dụng/ vượt TimeOut » Tác dụng phiên toàn ứng dụng » Vùng biến nhỏ 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 tại) Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 9.3 Session » 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 kiện:Session_Start, Session_End » Thuộc tính: Count, Keys, SessionID, LCID » Phương thức: CopyTo 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; Sử dụng giá trị if (this.Session["IsLogin"] == null){ Session.Add("IsLogin", false); Tạo biến } else { string t=Session["Islogin"].ToString(); Sử dụng giá trị islogin = bool.Parse(t); } } Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 9.4 Cookies » Cookies: tương tự Session » Biến với vùng nhớ nhỏ » Vị trí: lưu trữ Server Brower » Tầm hoạt động: Session » Ứng dụng: lưu trữ thông tin người dùng, trạng thái đăng nhập, Giỏ hàng, biến tạm phiên 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 9.5 ViewState » Vùng nhớ 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"]; Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY .. .Bài 09: Server Object » State mangement » Server » Application » Sesstion » Cookies » ViewState Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 9. 1... định hoạt động khơng có tương tác từ Server Brower Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 9. 1 Quản lý trạng thái(State Management) » Thời gian/... Application Session ViewState Session ViewState Session time Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 9. 2 Application » Biến Application Tồn khởi động