Bài giảng Lập trình Web ASP.Net: Chương 2 - Các đối tượng trong ASP.Net. Chương này trình bày các nội dung chính sau đây: Đối tượng response và request, đối tượng application và session, đối tượng server và cookies, tập tin global.asax và web.config. Mời các bạn tham khảo.
Trang 1Chươ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
4 Tập tin Global.asax Và Web.config
Trang 21 ðối tượng Response Và Request
1.1 ðối tượng Response 1.2 ðối tượng Request
Trang 31.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
Trang 4Phươ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 (<Kiểm tra ñăng nhập>)
Response.Redirect(“Default.aspx");
Else
Response.Redirect(“Login.aspx");
ReSponse.Redirect(“URL chuyển ñến”)
Trang 5Ví 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
Trang 61.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 [<Tham_so>=<Gia_tri>] phân cách nhau bằng dấu &
Trang 7Thuộ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ố”];
Trang 82 ðố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
Trang 92.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“] = <giá trị>;
Lấy giá trị từ biến Application
<biến> = Application["Tên biến“];
Trang 102.1 ðố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"
Trang 11Thuộ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à <Timeout> 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
Trang 12Phươ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
Trang 13Sử dụng biến toàn cục với Session
Tạo biến Session
Session["Tên biến“] = <giá trị>;
Lấy giá trị từ biến Session
<biến> = 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“] = “phetit"
Trang 143 ðối tượng Server Và Cookies
3.2 ðối tượng Cookies 3.1 ðối tượng Server
Trang 153.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 dẫn 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
Trang 163.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
Trang 17Lấy giá trị từ Cookies
Request.Cookies[“Tên Cookies”].Value;
HttpCookie cookTenDN = Request.Cookies["TenDN"];
if (cookTenDN != null)
Trang 184 Tập tin Global.asax Và Web.config
4.1 Tập tin Global.asax 4.2 Tập tin Web.config
Trang 20Cấu trúc tập tin Global.asax
Trang 21Application_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 startupApplication["So_luot_truy_cap"] = 0;
Application["So_nguoi_online"] = 0;
}
Trang 22Application_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).
Trang 23Session_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 startedApplication["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;}
Trang 24Session_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;
}
Trang 254.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
Trang 26Ví dụ: Tạo biến cấu hình dùng ñể lưu chuỗi kết nối CSDL SQLServer
<connectionStrings>
<add name="KetnoiCSDL" connectionString=
"Data Source=PC\SQLEXPRESS; Initial Catalog=QLBansach;Integrated Security=True“
providerName="System.Data.SqlClient" />
</connectionStrings>
string StrCnn = ConfigurationManager.ConnectionStrings["KetnoiCSDL"].
ConnectionString.ToString();Lấy thông tin chuỗi kết nối