Tải bản đầy đủ (.pdf) (26 trang)

Bài giảng Lập trình Web ASP.Net: Chương 2 - Dương Thành Phết

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.11 MB, 26 trang )

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
4. Tập tin Global.asax Và Web.config

1
Written by: Dương Thành Phết




1. ðối tượng Response Và Request
1.1. ðối tượng Response
1.2. ðối tượng Request

2
Written by: Dương Thành Phết




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 . . .


3

Response.Write ("Chào các bạn!");
String s = DateTime.Today.ToShortDateString();
Response.Write(" <BR><B>" + "Hôm nay là: " + s + "</B>"
Written by: Dương Thành Phết




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 (<Kiểm tra đăng nhập>)
Response.Redirect(“Default.aspx");
Else
Response.Redirect(“Login.aspx");

4
Written by: Dương Thành Phết




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

5
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.
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 &

6
Written by: Dương Thành Phết





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 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);

7
Written by: Dương Thành Phết




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

8
Written by: Dương Thành Phết




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“] = <giá trị>;
Lấy giá trị từ biến Application
<biến> = Application["Tên biến“];
Ví dụ:
Application.Lock();
Application["So_lan_truy_cap“] = 0;
Application.UnLock();
s = Application["So_lan_truy_cap"];
9
Written by: Dương Thành Phết




2.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".
10

Written by: Dương Thành Phết




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 u cầu về lại Server. Giá trị mặc định là 20 phút.
Nếu khơng có 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 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.
11
Written by: Dương Thành Phết




Phương thức Abandon
Trong khoảng thời gian <Timeout> ñố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 u cầu sau đó ñược Web server coi như là
một người dùng mới.
12
Written by: Dương Thành Phết




Sử 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"

13
Written by: Dương Thành Phết




3. ðối tượng Server Và Cookies
3.1 ðối tượng Server
3.2 ðối tượng Cookies

14

Written by: Dương Thành Phết




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 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.
15
Written by: Dương Thành Phết




3.2 ðối tượng Cookies

Nếu ñã ñăng ký là thành viên của một trang web
thì khi 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
16
Written by: Dương Thành Phết




17

Thêm Cookies
Response.Cookies.Add(<HttpCookie>);
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);
Written by: Dương Thành Phết




4. Tập tin Global.asax Và Web.config
4.1 Tập tin Global.asax

4.2 Tập tin Web.config

18
Written by: Dương Thành Phết




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:

19
Written by: Dương Thành Phết




Cấu trúc tập tin Global.asax

20
Written by: Dương Thành Phết





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;
}

21
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).

22
Written by: Dương Thành Phết




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;
}

23
Written by: Dương Thành Phết




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;
}
24
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
<appSettings>
<add key=“tên khoá” value=“giá trị khoá” />
<appSettings/>
Truy xuất thơng tin
System.Configuration.ConfigurationSettinger.
AppSettings[“Khố”];

25
Written by: Dương Thành Phết




×