Chương 2 Các ðối Tượng Trong ASP.Net
1. ðối tượng Response Và Request
2. ðối tượng Application Và Session
3. ðối tượng Server Và Cookies
11
http://www.thayphet.net
Written by: Dương Thành Phết
4. Tập tin Global.asax Và Web.config
1. ðối tượng Response Và Request
1.1. ðối tượng Response
22
http://www.thayphet.net
Written by: Dương Thành Phết
1.2. ðối tượng Request
1.1 ðối tượng Response
ðối tượng Response ñược sử dụng ñể giao tiếp với Client, nó quản lý và ñiều phối thông tin từ Web Server ñến các trình duyệt của người dùng.
(cid:1) Phương thức Write
Response.Write ("Chào các bạn!");
String s = DateTime.Today.ToShortDateString();
Response.Write("
" + "Hôm nay là: " + s + ""
33
http://www.thayphet.net
Written by: Dương Thành Phết
Dùng ñể ghi kết quả lên trình duyệt của máy khách, có thể là văn bản, thẻ HTML, Mã Script . . .
(cid:1) Phương thức Redirect
Dùng ñể chuyển yêu cầu truy cập của máy khách ñến 1 URL khác
ReSponse.Redirect(“URL chuyển ñến”)
Ví dụ:
'Nếu ñăng nhập thành công
If (
Response.Redirect(“Default.aspx");
Else
44
http://www.thayphet.net
Written by: Dương Thành Phết
Response.Redirect(“Login.aspx");
Ví dụ: Sử dụng ñối tượng Response ñể thực hiện việc download tập tin.
Private Sub lnkDownload_Click( . . . )
String sTap_tin = "De cuongonthiTN2010.pdf"; String sDuong_dan ; sDuong_dan = Server.MapPath("~/") + sTap_tin; Response.AddHeader("Content-Disposition","attachment;
filename=" + sTap_tin);
Response.WriteFile(sDuong_dan); Response.End();
End Sub
55
http://www.thayphet.net
Written by: Dương Thành Phết
1.2 ðối tượng Request
ðối tượng Request ñược dùng ñể nhận thông tin từ trình duyệt của người dùng gởi về cho WebServer.
(cid:1) Thuộc tính QueryString
Như ñã biết URL(Uniform Resource Locators) của 1 trang có cấu trúc như sau:
QueryString - gọi là chuỗi tham số cấu trúc như sau:
66
http://www.thayphet.net
Written by: Dương Thành Phết
Các cặp [
Thuộc tính QueryString cho phép chúng ta nhận các giá trị truyền qua chuỗi tham số này.
Request.QueryString[“Tên_tham_số”];
VD: Giả sử người dùng gởi thông ñiệp ñến Web Server yêu cầu trang: “ChitietSP?Ma=2". ðể lấy giá trị tham số này ta thực hiện:
77
http://www.thayphet.net
Written by: Dương Thành Phết
String Masp = Request.QueryString["Ma"]; Response.Write(Masp);
2. ðối tượng Application Và Session
88
http://www.thayphet.net
Written by: Dương Thành Phết
Application và Session là 2 ñối tượng khá quan trọng trong ứng dụng web, giúp các trang aspx có thể liên kết và trao ñổi dữ liệu cho nhau
2.1. ðối tượng Application
ðược sử dụng ñể quản lý tất cả các thông tin của một ứng dụng web. Thông tin ñược lưu trữ trong ñối tượng Application có thể ñược xử lý trong bất kỳ trang aspx nào trong suốt chu kỳ sống của ứng dụng.
(cid:1) Sử dụng biến Application Tạo biến Application
Application["Tên biến“] =
Lấy giá trị từ biến Application
Ví dụ:
99
http://www.thayphet.net
Written by: Dương Thành Phết
Application.Lock(); Application["So_lan_truy_cap“] = 0; Application.UnLock(); s = Application["So_lan_truy_cap"];
2.1. ðối tượng Session
1010
http://www.thayphet.net
Written by: Dương Thành Phết
(cid:1) ðược dùng ñể lưu trữ thông tin của người dùng trong ứng dụng. (cid:1) Thông tin ñược lưu trữ trong Session là của một người dùng trong một phiên làm việc cụ thể. (cid:1) Web Server sẽ tự ñộng tạo một ñối tượng Session cho mỗi người dùng mới kết nối vào ứng dụng và tự ñộng hủy chúng nếu người dùng còn không làm việc với ứng dụng nữa. (cid:1) ðối tượng Session khá hữu hiệu trong việc thực hiện "lưu vết và quản lý thông tin của người dùng".
1111
http://www.thayphet.net
Written by: Dương Thành Phết
Thuộc tính Timeout
(cid:1) Qui ñịnh khoảng thời gian (tính bằng phút) mà Web
Server duy trì ñối tượng Session nếu người dùng không
gởi yêu cầu về lại Server. Giá trị mặc ñịnh là 20 phút.
(cid:1) Nếu không có yêu cầu nào kể từ lần yêu cầu sau
cùng một khoảng thời gian là
1212
http://www.thayphet.net
Written by: Dương Thành Phết
Phương thức Abandon
(cid:1)Trong khoảng thời gian
Sử dụng biến toàn cục với Session
Tạo biến Session
Session["Tên biến“] =
Lấy giá trị từ biến Session
1313
http://www.thayphet.net
Written by: Dương Thành Phết
Ví dụ: Lưu trữ thông tin khi người dùng ñăng nhập hệ thống thành công Session["TenDN“] = “phetit"
3. ðối tượng Server Và Cookies
3.1 ðối tượng Server
1414
http://www.thayphet.net
Written by: Dương Thành Phết
3.2 ðối tượng Cookies
3.1 ðối tượng Server
ðược sử dụng ñể cung cấp thông tin của Server cho ứng dụng.
thức Transfer(<ðường dẫn
1515
http://www.thayphet.net
Written by: Dương Thành Phết
(cid:1) Thuộc tính MachineName: Dùng ñể lấy tên của Web Server. (cid:1) Phương thức Mappath: Dùng ñể lấy ñường dẫn vật lý hoặc ñường dẫn ảo ñến một thư mục trên Server. (cid:1) Phương trang>): Ngừng thi hành trang hiện hành, gởi yêu cầu mới ñến trang ñược gọi thực hiện.
3.2 ðối tượng Cookies
1616
http://www.thayphet.net
Written by: Dương Thành Phết
(cid:1) Nếu ñã ñăng ký là thành viên của một trang web thì khi yêu cầu ñến trang web ñó, sẽ nhận ra là thành viên. Vì những thông tin ñược lưu tại máy Client trong ñối tương Cookies. (cid:1) Như vậy Cookie như một tập tin (kích thước nhỏ) ñược lưu tại máy của người dùng. Dùng ñể nhận ra người ñang viếng thăm
Thêm Cookies
Response.Cookies.Add(
Ví dụ:Tạo Cookies TenDN lưu tên ñăng nhập của người dùng 3 ngày kể từ ngày hiện hành trên Web Server.
HttpCookie cookTenDN = new HttpCookie("TenDN");
cookTenDN.Value = "phetit"; cookTenDN.Expires = DateTime.Today.AddDays(3); Response.Cookies.Add(cookTenDN);
Lấy giá trị từ Cookies
Request.Cookies[“Tên Cookies”].Value;
HttpCookie cookTenDN =
Request.Cookies["TenDN"];
if (cookTenDN != null)
Response.Write(Request.Cookies["TenDN"].Value);
1717
http://www.thayphet.net
Written by: Dương Thành Phết
4. Tập tin Global.asax Và Web.config
4.1 Tập tin Global.asax
1818
http://www.thayphet.net
Written by: Dương Thành Phết
4.2 Tập tin Web.config
4.1 Tập tin Global.asax
tạo giá trị cho các biến
1919
http://www.thayphet.net
Written by: Dương Thành Phết
ðược dùng ñể: (cid:1) Khai báo và khởi Application, Session. (cid:1) Viết xử lý cho các sự kiện của 2 ñối tượng Application và Session. (cid:1) Một project chỉ có 1 tập tin Global.asax Cách tạo:
2020
http://www.thayphet.net
Written by: Dương Thành Phết
Cấu trúc tập tin Global.asax
Application_Start: Xảy ra một lần ñầu tiên khi bất kỳ trang nào trong ứng dụng ñược gọi.
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup Application["So_luot_truy_cap"] = 0; Application["So_nguoi_online"] = 0;
2121
http://www.thayphet.net
Written by: Dương Thành Phết
}
2222
http://www.thayphet.net
Written by: Dương Thành Phết
Application_End: Xảy ra khi dừng hoạt ñộng của WebServer. Ví dụ xử lý ghi nhận thông tin Số lượt truy cập vào cơ sở dữ liệu (nếu cần).
Session_Start: Xảy ra khi người dùng mới yêu cầu ñến bất kỳ trang aspx của ứng dụng.
void Session_Start(object sender, EventArgs e)
{
// Code that runs when a new session is started
2323
http://www.thayphet.net
Written by: Dương Thành Phết
Application["So_luot_truy_cap"] = int.Parse(Application["So_luot_truy_cap"].ToString()) + 1; Application["So_nguoi_online"] = int.Parse(Application["So_nguoi_online"].ToString()) + 1; }
Session_End: Xảy ra khi phiên làm việc không có gởi yêu cầu hoặc làm tươi trang aspx của ứng dụng web trong một khoảng thời gian (mặc ñịnh là 20 phút) (Kết thúc phiên làm việc).
void Session_End(object sender, EventArgs e)
{
// Code that runs when a session ends. Application["So_luot_truy_cap"] =
int.Parse(Application["So_luot_truy_cap"].ToString()) - 1;
Application["So_nguoi_online"] =
int.Parse(Application["So_nguoi_online"].ToString()) - 1;
2424
http://www.thayphet.net
Written by: Dương Thành Phết
}
4.2 Tập tin Web.config
Web.config là một tập tin văn bản viết theo ñịnh dạng XML sử dụng ñể lưu trữ thông tin cấu hình của một ứng dụng ðược tự ñộng tạo ra khi chúng ta tạo mới ứng dụng.
Bổ sung thông tin cho ứng dụng
2525
http://www.thayphet.net
Written by: Dương Thành Phết
Truy xuất thông tin System.Configuration.ConfigurationSettinger. AppSettings[“Khoá”];
"Data Source=PC\SQLEXPRESS;
Initial Catalog=QLBansach;Integrated Security=True“
providerName="System.Data.SqlClient" /> Ví dụ: Tạo biến cấu hình dùng ñể lưu chuỗi kết nối
CSDL SQLServer string StrCnn =
ConfigurationManager.ConnectionStrings["KetnoiCSDL"]. ConnectionString.ToString(); 2626 http://www.thayphet.net Written by: Dương Thành Phết Lấy thông tin chuỗi kết nối