Lập trình web Asp.net với C# - Chương 2: Các đối tượng trong asp.net
2.1. Đối tượng Response Và Request 2.2. Đối tượng Application Và Session 2.3. Đối tượng Server Và Cookies 2.4. Tập tin Global.asax Và Web.confi
Bạn đang xem trước 20 trang tài liệu Lập trình web Asp.net với C# - Chương 2: Các đối tượng trong asp.net, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Giảng Viên: Th.S Phạm Đào Minh Vũ
Email: phamdaominhvu@yahoo.com
1
LẬP TRÌNH WEB ASP.NET VỚI C#
57
Chương 2
Các Đối Tượng Trong ASP.Net
2.1. Đối tượng Response Và Request
2.2. Đối tượng Application Và Session
2.3. Đối tượng Server Và Cookies
2.4. Tập tin Global.asax Và Web.config
58
2.1. Đối tượng Response Và Request
2.1.1. Đối tượng Response
2.1.2. Đối tượng Request
59
2.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.
Phương thức Write
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 . . .
Response.Write ("Chào các bạn!");
String s = DateTime.Today.ToShortDateString();
Response.Write(" " + "Hôm nay là: " + s + ""
60
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
Ví dụ:
//Nếu đăng nhập thành công
if ()
Response.Redirect("Default.aspx");
else
Response.Redirect("Login.aspx");
ReSponse.Redirect(“URL chuyển đến”)
61
Ví dụ: Sử dụng đối tượng Response để thực hiện
việc download tập tin.
private void lnkDownload_Click()
{
String sTap_tin = "De cuongonthiTN2010.pdf";
String sDuong_dan = Server.MapPath("~/") + sTap_tin;
Response.AddHeader("Content-Disposition","attachment; filename=" + sTap_tin);
Response.WriteFile(sDuong_dan);
Response.End();
}
62
2.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.
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:
Các cặp [=] phân cách nhau
bằng dấu &
63
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.
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:
String Masp = Request.QueryString["Ma"];
Response.Write(Masp);
Request.QueryString[“Tên_tham_số”];
64
2.2. Đối tượng Application Và Session
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
65
2.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.
Sử dụng biến Application
Tạo biến Application
Application["Tên biến“] = ;
Lấy giá trị từ biến Application
= Application["Tên biến“];
Ví dụ:
Application.Lock();
Application["So_lan_truy_cap“] = 0;
Application.UnLock();
s = Application["So_lan_truy_cap"];
66
2.2.2. Đối tượng Session
Được dùng để lưu trữ thông tin của người dùng
trong ứng dụng.
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ể.
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.
Đố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".
67
Thuộc tính Timeout
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.
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à phút, đối
tượng Session mà Web server cấp cho lần làm việc đó
sẽ tự động được giải phóng.
Những yêu cầu sau đó được Web server coi như là
một người dùng mới, và đương nhiên sẽ được cấp một
đối tượng Session mới.
68
Phương thức Abandon
Trong khoảng thời gian đối tượng Session
được duy trì dù không có sự tương tác của Client,
nghĩa là Web server phải sử dụng một vùng nhớ để duy
trì đối tượng Session trong một khoảng thời gian tương
ứng.
Phương thức Abandon của đối tượng Session sẽ giải
phóng vùng nhớ được dùng để duy trì đối tượng
Session trên Web Server ngay khi được gọi thực hiện.
Những yêu cầu sau đó được Web server coi như là
một người dùng mới.
69
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
= Session["Tên biến“]
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“] = “userITC"
70
2.3. Đối tượng Server Và Cookies
2.3.2 Đối tượng Cookies
2.3.1 Đối tượng Server
71
2.3.1 Đối tượng Server
Được sử dụng để cung cấp thông tin của Server cho
ứng dụng.
Thuộc tính MachineName: Dùng để lấy tên của
Web Server.
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.
Phương thức Transfer():
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.
72
2.3.2 Đối tượng Cookies
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.
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
73
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 = "UserITC";
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);
74
2.4. Tập tin Global.asax Và Web.config
2.4.1 Tập tin Global.asax
2.4.2 Tập tin Web.config
75
2.4.1 Tập tin Global.asax
Được dùng để:
Khai báo và khởi tạo giá trị cho các biến Application,
Session.
Viết xử lý cho các sự kiện của 2 đối tượng
Application và Session.
Một project chỉ có 1 tập tin Global.asax
Cách tạo:
76
Cấu trúc tập tin Global.asax
77
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.
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).
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
Application["So_luot_truy_cap"] = 0;
Application["So_nguoi_online"] = 0;
}
78
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
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;
}
79
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_nguoi_online"] =
int.Parse(Application["So_nguoi_online"].ToString()) - 1;
}
80
2.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.
<add name="KetnoiCSDL"
connectionString="Data Source=PC\SQLEXPRESS;
Initial Catalog=QLBansach;
Integrated Security=True“
providerName="System.Data.SqlClient" />
.......
Tập tin cấu hình ứng dụng Web
81
defaultLanguage: qui định ngôn ngữ mặc định
debug: Bật/tắt chế độ debug của ứng dụng
: Quản lý việc
xử lý lỗi khi có lỗi phát sinh trong ứng dụng.
Thuộc tính mode có các giá trị:
RemoteOnly : Cho người dùng thấy trang thông báo lỗi
thông qua thuộc tính defaultRedirect (nếu có). Thông
báo lỗi gồm mã lỗi và mô tả lỗi.
On : tùy vào thuộc tính defaultRedirect
• Có qui định trang thông báo lỗi: hiển thị trang báo lỗi
• Không qui định: hiển thị trang báo lỗi nhưng không
hiển thị mã lỗi và mô tả lỗi
Off : Hiển thị lỗi trên trang aspx hiện hành
2.4.2.1. Một số cấu hình mặc định
82
<customErrors mode=“on“
defaultRedirect="Error/Err.aspx" />
2.4.2.2. Ví dụ
83
Ví dụ
84
Ví dụ
85
2.4.2.3. Làm việc với Web.config
Bổ sung thông tin cho ứng dụng
Truy xuất thông tin
System.Configuration.ConfigurationSettinger.
AppSettings[“Khoá”];
Tập tin web.config có hỗ trợ tag với 2
thuộc tính là key và value cho phép chúng ta thêm vào
các biến dùng để cấu hình ứng dụng.
86
Ví dụ: Tạo biến cấu hình dùng để lưu chuỗi kết nối
CSDL SQLServer
Lấy thông tin chuỗi kết nối
<add name="KetnoiCSDL" connectionString="Data Source=PC\SQLEXPRESS;
Initial Catalog=QLBansach;Integrated Security=True"
providerName="System.Data.SqlClient" />
string StrCnn =
ConfigurationManager.ConnectionStrings["KetnoiCSDL"].
ConnectionString.ToString();