Bài giảng Lập trình web: Các đối tượng trong ASP.NET – Chu Thị Hường cung cấp người học kiến thức về đối tượng request; đối tượng respose; đối tượng server; đối tượng application; đối tượng session; đối tượng cookies; file global.asax; ngôn ngữ lập trình NET.
Trang 1L P TRÌNH WEB
CÁC Đ#I TƯ&NG TRONG ASP.NET
L P TRÌNH WEB
Trang 2Đ,i tư.ng Request
Đ,i tư.ng Respose
Đ,i tư.ng Server
Đ,i tư.ng Application
N6I DUNG
Đ,i tư.ng Application
Đ,i tư.ng Session
Đ,i tư.ng Cookies
File Global.asax
Trang 3Đ,i tư.ng Request ?
M t Request (yêu cKu)
là sN tương tác giDa
browse và server trong
ñó browse “hUi” server
Đ#I TƯ&NG REQUEST VÀ
LZP HttpRequest
ñó browse “hUi” server
cho web page.
thu c lBp HttpRequest
Trang 5Các thu c tính c]a lBp HttpRequest
ApplicationPath: Tr_ v` ñư ng dbn _o c]a cng ddng trênServer
PhysicalApplicationPath: Tr_ v` ñư ng dbn vEt lý c]acng ddng trên Server
Đ#I TƯ&NG REQUEST VÀ
LZP HttpRequest
cng ddng trên Server
Browse: Tr_ v` các thu c tính c]a client’s Browse
ContentLength: Là thu c tính tr_ v` ñ dài n i dung clientrequest (tính bgng bytes)
FilePath: Tr_ v` ñư ng dbn _o c]a trang trên server
RequestType: Dùng ñi nhEn lo i phương thcc truy`nHTTP data là POST hay GET ñư.c sj ddng bki client
Trang 6Các thu c tính c]a lBp HttpRequest
QueryString: QueryString ñư.c ñ nh nghĩa là m t chumingm sau dnu? trong chumi URL trên phKn ñ a cho c]a trìnhduyCt khi triCu gpi ñqn m t trang Web
Ví dd: Ta gpi triCu ñ a cho sau:
Đ#I TƯ&NG REQUEST VÀ
Trang 7Các thu c tính c]a lBp HttpRequest
Form: Lny tEp các biqn form Form collection sj ddng ñitEp h.p dD liCu ñư.c chca trong các phKn tj c]a formchuyin t} Client ñqn Server bgng phương thcc
< form action =“HienThi.aspx" method ="post">
UserName: < input type ="text" name ="txtUser" />< br />
Đ#I TƯ&NG REQUEST VÀ
LZP HttpRequest
UserName: < input type ="text" name ="txtUser" />< br />
Password: < input type ="password" name ="txtPwd" />< br />
< input type = "submit" name ="btnLogin" value ="Login" />< br />
Trang 9Các phương thcc c]a lBp HttpRequest
SaveAs(): Là phương thcc lưu toàn b yêu cKu lên ñĩa
Trang 10M t Response là sN tương tác
giDa browse và server trong ñó
server “tr_ l i” yêu cKu HTTP
ñư.c gji t} browse.
Đ#I TƯ&NG RESPONSE VÀ
LZP HttpResponse
Đ,i tư.ng Response thu c lBp
ñi`u khiin Output c]a HTTP
Trang 13Thu c tính lBp HttpResponse:
BufferOutput: dùng ñi cho ñ nh Output c]a HTTP Request ñư.c chca trong Buffer và sau ñó ñư.c gji toàn b khi trang kqt thúc tiqn trình xj lý.
Đ#I TƯ&NG RESPONSE VÀ
Trang 14Thu c tính lBp HttpResponse:
ContentType: Cho phép nhEn và thiqt lEp kiiu Multipurpose Internet Mail Extension (MIME) c]a Response (muc ñ nh là “text/html”).
Đ#I TƯ&NG RESPONSE VÀ
Trang 15Phương thcc lBp HttpResponse:
Clear: Xóa tnt c_ n i dung c]a buffer
streame hiCn t i
ClearContent: Xóa tnt c_ n i dung
c]a buffer streame
Đ#I TƯ&NG RESPONSE VÀ
LZP HttpResponse
c]a buffer streame
Close: Đóng kqt n,i tBi client
End: Gji tnt c_ buffered output tBi
client
Redirect: Gji tBi client m t URL mBi
Write: Viqt thông tin tBi HTTP
Response
Trang 16Đ,i tư.ng Server thi hiCn các
phương thcc tiCn ích ña d ng ñi
truyin ñ…i ñi`u khiin giDa các trang,
gi_i mã -7" , nhEn thông tin
lmi, …
Đ#I TƯ&NG SERVER VÀ LZP
HttpServerUtility
Trang 17ScriptTimeout: Lny houc
thiqt lEp th i gian (tính
Request timeout.
Trang 18LBp , + 8
cung cnp các phương thcc
cho các tác vd như tiqn trình
xj lý các yêu cKu, mã hóa và
gi_i mã các chumi URL, truy
Đ#I TƯ&NG SERVER VÀ LZP
HttpServerUtility
gi_i mã các chumi URL, truy
cEp các thông tin lmi,…
Execute
HtmlEncode
MapPath
UrlEncode
Trang 19Các phương thcc lBp , + 8
Execute: Là phương thcc xj lý trang Web ñư.c
cho ñ nh trên ngD c_nh (context) c]a current
Request.
HtmlEncode: Là phương thcc mã hóa chumi ký
Đ#I TƯ&NG SERVER VÀ LZP
HttpServerUtility
HtmlEncode: Là phương thcc mã hóa chumi ký
tN ñi hiin th trên trình duyCt.
MapPath: Là m t hàm tr_ v` ñư ng dbn vEt lý.
Url Encode: Là phương thcc mã hóa chumi URL:
Trang 20Đ,i tư.ng Application ñư.c sj ddng
ñi tham chiqu ñqn thi hiCn c]a lBp
HttpApplicationState.
M t Application State (tr ng thái
Đ#I TƯ&NG APPLICATION
VÀ LZP HttpApplicationState
cng ddng) lưu trD toàn b thông tin
sj ddng qua l i nhi`u phiên giao
d ch (Session) và các yêu cKu
(request).
Trang 21LBp HtttpApplicationState thu c không gian mi`n System.Web.LKn ñKu tiên Client yêu cKu tài nguyên URL t} thư mdc _oc]a cng ddng ASP.NET thì m t thi hiCn c]a lBpHttpApplicationState ñư.c t o.
Đ#I TƯ&NG APPLICATION
VÀ LZP HttpApplicationState
Trang 22Thu c tính c]a lBp “HttpApplicationState”:
Trang 23Các thu c tính c]a lBp HttpApplicationState.
AllKeys property: Truy xunt các Access Keys t}
Contents property: Truy xunt tham chiqu ñqn
ñ,i tư.ng HttpApplicationState.
Count property: Đqm và truy xunt s, các ñ,i
tư.ng.
Item property: Truy xunt ñqn t}ng ñ,i tư.ng
HttpApplicationState.
Trang 24Phương thcc c]a lBp “HttpApplicationState”:
Trang 25Các phương thcc c]a lBp HttpApplicationState.
Add Method: Là phương thcc thêm m t ñ,i tư.ng mBi
vào tEp tr ng thái cng ddng
Clear Method: Là phương thcc xóa tnt c_ ñ,i tư.ng
trong tEp tr ng thái cng ddng
Remove Method: Là phương thcc xóa m t ñ,i tư.ng
cho ñ nh trong tEp tr ng thái cng ddng Cú pháp (C#)
c]a phương thcc là:
Trang 26Các phương thcc c]a lBp HttpApplicationState.
RemoveAll Method: Là phương thcc xóa tnt c_ ñ,i
tư.ng trong tEp tr ng thái cng ddng Cú pháp (C#) c]a
RemoveAt Method: Là phương thcc xóa m t ñ,i tư.ng
cho ñ nh trong tEp tr ng thái cng ddng Cú pháp (C#)
c]a phương thcc là:
Trang 27Phương thcc Lock.
Khi nhi`u ngư i dùng cùng truy cEp
vào m t cng ddng ASP.NET, cng
ddng không thi cho phép hp ñtng th i
truy cEp thay ñ…i cùng m t dD liCu
Đ#I TƯ&NG APPLICATION
VÀ LZP HttpApplicationState
Phương thcc Lock(), thu c lBp
HttpApplicationState, ngăn c_n ngư i
dùng khác thay ñ…i các biqn lưu trD
trong ñ,i tư.ng Application Cú pháp
c]a phương thcc Lock():
$+ " @#)
Trang 28Phương thcc UnLock.
Phương thcc UnLock() ñư.c sj ddng ñi
mk khóa cho các biqn lưu trD trong ñ,i
tư.ng Application Các biqn khi ñã ñư.c
mk khóa thì các ngư i dùng khác có thi
Đ#I TƯ&NG APPLICATION
VÀ LZP HttpApplicationState
thay ñ…i chúng
Phương thcc Lock() ñư.c mk tương cng
bki phương thcc UnLock()
Trang 29Phương thcc UnLock.
Trong trư ng h.p không gpi phương thcc
UnLock(), NET Framework tN ñ ng xóa
Lock() khi Request ñư.c hoàn thành,
houc Request ñqn th i gian TimeOut,
Đ#I TƯ&NG APPLICATION
Trang 30Session Cookies.
M t Session ñư.c ñ nh nghĩa là m t
kho_ng th i gian b‹t ñKu và kqt thúc
tương tác c]a ngư i dùng vBi cng
ddng Các thông tin c]a Session như
COOKIES
Login, Logout và các trang ñư.c viqng
thăm ñư.c lưu trD trên file temporary,
ñư.c gpi là Session Cookies
Trang 31Session Cookies.
M t Session Cookie có thi
xem như là m t cookie t m
này không ñư.c giD l i Do
ñó, lKn tiqp theo, ngư i
dùng này viqng thăm cùng
m t site thì anh ta ñư.c
ñ,i sj gi,ng như m t
ngư i khách mBi
Trang 33“Persistent” Cookies
Xét các trang Login c]a các d nh vd
e<mail ph… biqn như Hotmail và
Yahoo mail
Khi b n Login vào mail thì b n ñư.c
nh‹c có lưu thông tin login trên máy
Trang 34“Persistent” Cookies
Các Cookies lưu trD thông tin mà
ñư.c ghi nhB thông qua nhi`u
phiên giao d ch ñư.c gpi là
Persistent Cookies (Cookie b`n)
Persistent Cookies ñư.c xem như
COOKIES
Persistent Cookies ñư.c xem như
là các cookies thư ng xuyên hay
các cookies lưu trD Các Persistent
Cookies có th i gian s,ng (Expiry
date) và ñư.c lưu trD trên ñĩa
ccng c]a ngư i sj ddng cho ñqn
Trang 35“Persistent” Cookies
Các Cookies lưu trD thông tin mà
ñư.c ghi nhB thông qua nhi`u
phiên giao d ch ñư.c gpi là
Persistent Cookies (Cookie b`n)
Persistent Cookies ñư.c xem như
COOKIES
Persistent Cookies ñư.c xem như
là các cookies thư ng xuyên hay
các cookies lưu trD Các Persistent
Cookies có th i gian s,ng (Expiry
date) và ñư.c lưu trD trên ñĩa
ccng c]a ngư i sj ddng cho ñqn
khi hqt th i gian s,ng houc cho
ñqn khi ñư.c xóa th] công
Trang 38Session (phiên làm viCc) là kho_ng
th i gian b‹t ñKu và kqt thúc tương
tác c]a ngư i dùng vBi cng ddng.
SESSION STATE
Trang 39A $+ ñư.c ñư.c sj ddng ñi lưu trD thông tin v` phiên làm
viCc c]a m t ngư i sj ddng Các thông
tin này có thi sj ddng cho tnt c_ các
Trang 40Các A $+ ñư.c xóa ngay
khi phiên làm viCc c]a ngư i dùng vBi Site
Trang 42Session State Events:
ñiim Session timeout.
Hai sN kiCn này ñư.c ñi`u khiin
bki các th] tdc Session_OnStart
và Session_OnEnd trên file
Trang 44Session Identifiers:
Khi tr ng thái c]a Session ñư.c Enable, mmi request m ttrang trong cng ddng ñ`u ñư.c kiim tra giá tr SessionID.Nqu giá tr SessionID không ñư.c cung cnp thì m tSession mBi ñư.c khki t o Sau ñó SessionID ñư.c gjicho Session tBi Browse cùng vBi Response
SESSION STATE
cho Session tBi Browse cùng vBi Response
Giá tr c]a SessionID ñư.c lưu trD trên m t Cookie
Trang 45Global.asax file ñư.c xem như là file cng ddng ASP.NET File này chca code cho viCc tr_ l i cng ddng houc các modul sN kiCn trong m t v trí trung tâm.
File Global.asax là file lNa chpn, nó ñư.c t o cho khi
Global.asax
File Global.asax là file lNa chpn, nó ñư.c t o cho khi nqu cKn ñi`u khiin các sN kiCn c]a cng ddng houc Session.
Mmi m t cng ddng ASP.NET cho có m t và cho m t file Global.asax File này không ñư.c Request và
sj ddng bki ngư i sj ddng.
Trang 48Sinh viên thNc hiCn c]ng c, l i ngôn ngD lEp trình
.NET ñã ñư.c cung cnp:
Khai báo sj ddng không gian mi`n
Khai báo biqn
Trang 49TH–O LU N – CÂU H˜I
Trang 50ThNc hành các ví dd
ThNc hành thao tác vBi các ñ,i tư.ng.
™ng ddng các ñ,i tư.ng vào bài tEp lBn
ñư.c phân công
BÀI T P
ñư.c phân công