Bài giảng Thiết kế và lập trình Web 2 - Các đối tượng của ASP.NET

Nội dung

ƒGiớithiệuvềcácđốitượng của ASP.NET

–Response

–Request

–Server

–Application

–Session

ƒMột vài ví dụ

pdf33 trang | Chuyên mục: ASP.NET | Chia sẻ: dkS00TYs | Lượt xem: 2011 | Lượt tải: 3download
Tóm tắt nội dung Bài giảng Thiết kế và lập trình Web 2 - Các đối tượng của ASP.NET, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
yWrite ghi dữ liệu nhị phân
Close đóng kết nối tới client
End Kết thúc thi hành một trang
Redirect chuyển client sang một URL khác
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Ví dụ
protected void btnClick_Click(object sender, EventArgs e)
{
Response.Redirect(txtLink.Text);
}
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Request Object
ƒ Cung cấp các thông tin về yêu cầu của client
ƒ Được tạo ra tương ứng với các Http Request
ƒ Dùng đối tượng này để đọc những thông tin client 
đã gởi (header, query string, cookies, …)
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Request Object
Thuộc tính Mô tả
Browser Cung cấp thông tin liên quan đến trình duyệt của
client
Url Địa chỉ trang gửi request
QueryString Lấy tham số truyền từ client theo phương thức GET
…
Form Lấy tham số truyền từ client theo phương thức POST
Cookies các thông tin về Cookies ở client sẽ được đọc lên
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Ví dụ - Truyền tham số theo phương thức GET
ƒ Cách tạo HTTP QueryString
– Gõ trực tiếp vào chuỗi URL
 string sample
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Cookies
ƒ Cookies là một mẫu thông tin nhỏ dùng để lưu trữ
thông tin của người dùng trên máy tính.
ƒ Cookies có thể được lưu trữ tạm thời hoặc lưu trữ
lâu dài.
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Cookies
ƒ Cookie lưu trữ tạm thời : sẽ không còn giá trị ngay
khi người dùng rời khỏi web site.
ƒ Cookie lưu trữ lâu dài : vẫn còn được lưu trữ trên
máy của người dùng,và Web Server có thể đọc
những thông tin này vào những lần kế tiếp người
dùng vào web site.
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Cookies
ƒ Thể hiện trong ASP.NET là lớp HttpCookie
ƒ Các thuộc tính của HttpCookie
– Name : tên của Cookie
– Domain : domain cookie này thuộc về.
– Expires : xác định thời gian có hiệu lực của Cookie
– Value : Giá trị của Cookie
– HasKeys : Cookie có tập giá trị con hay không
– Values : tập các giá trị của Cookie 
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Sử dụng Cookies
ƒ Lệnh ghi cookies
– Response.Cookies[cookie][(key)|.attribute] = value;
• cookie: tên biến
• key : tham số tùy chọn, có thể đặt nhiều giá trị cho 1 cookie
• attribute: thuộc tính (domain, path,….)
ƒ Lấy giá trị cookies
– value = Request.Cookies[cookie][(key)|.attribute]
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Ví dụ
ƒ Cookies đơn
– Ghi
Response.Cookies["userName“].Value = "mike“;
Response.Cookies["userName“].Expires = DateTime.Now.AddDays(1);
– Đọc
if (Request.Cookies["userName“] != null)
Label1.Text = Request.Cookies["userName“].Value;
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Ví dụ
ƒ Cookies có các subkey
– Ghi
Response.Cookies["userInfo“]["userName“] = "mike“;
Response.Cookies["userInfo“]["lastVisit“] = DateTime.Now.ToString();
Response.Cookies["userInfo“].Expires = DateTime.Now.AddDays(1);
– Đọc
if (Request.Cookies["userInfo“] != null)
{
Label1.Text = Request.Cookies["userInfo“]["userName“]; 
Label2.text = Request.Cookies["userInfo“]["lastVisit“]; 
}
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Ví dụ
ƒXóa Cookies
Response.Cookies["userName“].Expires = DateTime.Now.AddDays(-1);
Response.Cookies["userInfo“].Expires = DateTime.Now.AddDays(-1);
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Server Object
ƒ Cung cấp các phương thức giúp
– Chuyển điều khiển giữa các trang với nhau
– Lấy các thông tin về mã lỗi, encode, …
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Server Object
ƒ Các thuộc tính
– MachineName : tên server
– ScriptTimeout : thời gian time-out của request
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Server Object
Phương thức Mô tả
MapPath Ánh xạ địa chỉ tương đối thành địa chỉ tuyệt đối
trên server
Execute Lấy kết xuất từ trang khác
…
HtmlEncode Giữ nguyên tag HTML
HtmlDecode Định dạng nội dung theo tag HTML
UrlEncode Mã hóa Url theo ASCII
UrlDecode Giải mã ASCII từ Url
Transfer Lấy kết xuất từ trang khác rồi quay lại
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Application Object
ƒ Một ASP.NET application bao gồm tất cả các file, 
trang web, sự kiện, module và code trong phạm vi 
một thư mục web ảo (virtual directory) và các thư
mục con của nó
ƒ Đối với mỗi ASP.NET application, một Application 
Object được tạo ra để thể hiện tình trạng của
ASP.NET application này
ƒ Application Object được tạo khi client yêu cầu bất
kỳ trang nào trong application này
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Application Object
ƒ Application Object bị hủy khi
– Stop Web Server
– Server bị sập
– Hủy ASP.NET Application 
ƒ Sự kiện
– Application_OnStart
– Application_OnEnd
(global.asax)
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Application Object
ƒ Application Object chứa một danh sách các biến
trạng thái dùng chung của application. Ta có thể
sử dụng chúng để lưu trữ các thông tin xuyên
suốt ứng dụng
ƒ Các biến trạng thái này được lưu trữ thành từng
cặp key-value.
– Key : tên trạng thái
– Value : giá trị trạng thái
Application[“SoLan"] = 0;
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Ví dụ – Đếm số lần duyệt 1 trang web
//global.asax
void Application_OnStart(Object sender, EventArgs E) {
Application [“SoLan"] = 0;
}
//Myform.aspx.cs
void Page_Load(Object Src, EventArgs E){
Application[“SoLan"] = (Int32) Application [“SoLan"] + 1;
Response.Write(“Số lần vào trang này :" + Application [“SoLan"]);
}
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Ví dụ – Đếm số lần duyệt 1 trang web (Cải tiến)
void Page_Load(Object Src, EventArgs E){
Application.Lock();
Application[“SoLan"] = (Int32) Application [“SoLan"] + 1;
Application.UnLock();
Response.Write(“Số lần vào trang này :" + Application [“SoLan"]);
}
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Session Object
ƒ Một session (phiên làm việc) là một chuỗi các thao
tác của người dùng trên cùng một web application
ƒ Với mỗi phiên làm việc của client, sẽ có một
Session Object được tạo ra
ƒ Session Object sẽ cung cấp cho ta những thông
tin về phiên làm việc hiện hành này của client
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Session Object
ƒ Session được tạo ra khi client bắt đầu phiên làm việc của
mình
ƒ Session sẽ được hủy khi
– Client tường minh thoát khỏi session
– Sau một khoảng thời gian (time-out), client không có hành
động làm việc nào
ƒ Sự kiện
– Session_OnStart
– Session_OnEnd
(global.asax)
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Session Object
Ý nghĩa
Session.Timeout = minutes Đặt thời gian của phiên làm việc
Session.SessionID ID của phiên làm việc
Session.Abandon() Hủy phiên làm việc (hủy cả biến dữliệu)
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Session Object
ƒ Cung cấp cho ta một danh sách các trạng thái
xuyên suốt session này
ƒ Các trạng thái của Session Object cũng được tổ
chức trong một Collections dưới dạng key-value
Session[“DaDangNhap"] = 0;
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Ví dụ - Kiểm tra Quyền đăng nhập
ƒ Làm thế nào để ngăn không cho người dùng truy
cập vào các trang web nếu chưa đăng nhập?
ƒ Ý tưởng
– Dùng các biến Session để lưu trạng thái đăng nhập của người
dùng:
Session[“IsLogin”] = 0/1 : Lưu trạng thái đăng nhập
Session[“Username”] : Lưu Tên đăng nhập
Session[“Authentication”]: Lưu Loại quyền đăng nhập
…
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Làm thế nào để ngăn không cho người dùng truy cập
vào các trang web nếu chưa đăng nhập?
1. Khởi tạo giá trị mặc định cho biến Session[“IsLogin”] = 0 
(chưa đăng nhập)
//global.asax
void Session_OnStart(Object sender, EventArgs E) {
Session [“IsLogin"] = 0;
}
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Làm thế nào để ngăn không cho người dùng truy cập
vào các trang web nếu chưa đăng nhập?
2. Tạo trang Login.aspx cho phép người dùng đăng nhập
– Nếu kiểm tra thông tin đăng nhập không đúng thì hiển thị thông
báo yêu cầu đăng nhập lại. 
– Ngược lại, nếu ĐÚNG thì dùng một (hoặc nhiều) biến Session 
để lưu trạng thái login thành công lại. 
//Login.aspx.cs
void btnLogin_Click(Object Src, EventArgs E){
if (Thong tin dang nhap dung)
Session [“IsLogin"] = 1;
else
Response.Write(“Vui lòng nhập lại!”);
}
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Làm thế nào để ngăn không cho người dùng truy cập
vào các trang web nếu chưa đăng nhập?
3. Trong tất cả các trang muốn bảo mật, phải thêm đoạn mã sau
để kiểm tra người dùng đã login hay chưa, nếu chưa thì
redirect lại trang login.aspx
//MyForm.aspx.cs
void Page_Load(Object Src, EventArgs E){
int nDaDangNhap = (Int32) Session [“IsLogin "];
if (nDaDangNhap == 0)
Response.Redirect(“Login.aspx”);
}
Thiết kế & Lập trình WEB 2 – Các đối tượng của ASP.NET
© 2007 Khoa CNTT – ĐH KHTN
Làm thế nào để ngăn không cho người dùng truy cập
vào các trang web nếu chưa đăng nhập?
4. Tạo xử lý khi người dùng logout
ƒ Reset trạng thái login là chưa đăng nhập
//MyForm.aspx.cs
void btnLogout_Click(Object Src, EventArgs E){
Session [“IsLogin"] = 0;
Response.Redirect(“Login.aspx”);
}

File đính kèm:

  • pdfBài giảng Thiết kế và lập trình Web 2 - Các đối tượng của ASP.NET.pdf
Tài liệu liên quan