Bài 09: Server Object
» State mangement
» Server
» Application
» Sesstion
» Cookies
» ViewState
9.1 Quản lý trạng thái(State Management)
» 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
15 trang |
Chia sẻ: phuongt97 | Lượt xem: 430 | Lượt tải: 0
Nội dung tài liệu Bài giảng Công nghệ Web - Bài 09: Server Object - Lê Quang Lợi, để 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
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ị đượ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
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 ViewState
Session 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 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
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 Bắt đầu
} Kết thúc ứng dụng
void Application_End(object sender, EventArgs e) {
// Ứng dụng ngừng hoạt động }
void Application_Error(object sender, EventArgs e){ Sự kiện khi ứng dụng bị
// Ứng dụng bị lỗi lỗi
}
void Session_Start(object sender, EventArgs e){
Bắt đầu Kết thúc phiên
// Tạo một sesstion}
làm việc
void Session_End(object sender, EventArgs e) { }
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 sự 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 dữ 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ể 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)
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 sự 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){
Tạo biến
Session.Add("IsLogin", false);
} 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ự 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
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ớ đượ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"];
Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
Các file đính kèm theo tài liệu này:
- bai_giang_cong_nghe_web_bai_09_server_object_le_quang_loi.pdf