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ẻ: thuychi16 | Lượt xem: 773 | Lượt tải: 2
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