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.1212
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.1313
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“] = “phetit
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
by: Dương Thành Phết
21. ðối tượng Response Và Request
by: Dương Thành Phết
1.1. ðối tượng Response
1.2. ðối tượng Request
31.1 ðối tượng Response
by: Dương Thành Phết
ðố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 + ""
4
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
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”)
5
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
61.2 ðối tượng Request
by: Dương Thành Phết
ðố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 &
7
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.
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ố”];
82. ðối tượng Application Và Session
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
9
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“] = ;
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"];
10
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".
11
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 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.
12
by: Dương Thành Phết
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.
13
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“] = ;
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“] = “phetit"
14
3. ðối tượng Server Và Cookies
by: Dương Thành Phết
3.2 ðối tượng Cookies
3.1 ðối tượng Server
15
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ừ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.
16
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 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
17
by: Dương Thành Phết
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);
18
4. Tập tin Global.asax Và Web.config
by: Dương Thành Phết
4.1 Tập tin Global.asax
4.2 Tập tin Web.config
19
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:
20
by: Dương Thành Phết
Cấu trúc tập tin Global.asax
21
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;
}
22
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).
23
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;
}
24
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;
}
25
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
Truy xuất thông tin
System.Configuration.ConfigurationSettinger.
AppSettings[“Khoá”];
26
by: Dương Thành Phết
Ví dụ: Tạo biến cấu hình dùng ñể lưu chuỗi kết nối
CSDL SQLServer
<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();
Lấy thông tin chuỗi kết nối