Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Tài liệu Tự học ASP.Net bằng tiếng việt ppt
Nội dung xem thử
Mô tả chi tiết
T詠 H丑c
Microsoft ASP.NET
B違n quy隠n c栄a:
www.vovisoft.com
Rào Tr逢噂c
Hành trang vào Khóa H丑c ASP.NET
Ta nên chu育n b鵜 s印n m瓜t s嘘 ki院n th泳c c<n b違n v隠 l壱p trình hay phát tri吋n m衣ng khi b逢噂c vào khóa h丑c này thì t嘘t h挨n, vì tuy
b衣n không c亥n ph違i bi院t v隠 ASP c鰻 đi吋n (classic ASP) nh逢ng, nh逢 chúng tôi đã trình bày trong ph亥n FAQ 荏 trang Chào M瑛ng
đ亥u khóa h丑c, b衣n c亥n:
• tham kh違o các bài vi院t trong khóa H丑c Microsoft .NET c栄a th亥y Lê Ð泳c H欝ng đ吋 làm quen v噂i .NET framework,
Visual Basic.NET, Visual Studio.NET. VB.NET s胤 đ逢嬰c dùng làm ngôn ng英 m員c đ鵜nh (default) trong các thí d映, các
bài t壱p hay các d詠 án c栄a khoá.
• bi院t t鰻ng quát v隠 HTML (HyperText Markup Language) khi ta c亥n trình bày các trang web trên browser. Browser
đ逢嬰c dùng trong khoá này là IE6 (Internet Explorer Version 6).
• quen thu瓜c v噂i các h羽 đi隠u hành m噂i hi羽n nay (Operating System) nh逢 Windows 2000 (Professional hay Server) hay
Windows XP (Home hay Professional), c┡ng nh逢 quen thu瓜c cách qu違n lý các 泳ng d映ng liên h羽 nh逢 Web Server
(Personal Web Server hay Internet Information Server - IIS) và các c挨 s荏 d英 li羽u (database) MS SQL Server 2000 -
xin tham kh違o các bài vi院t v隠 MCSE c栄a th亥y V┡ H英u Tín, th亥y T<ng Vinh Tài và l噂p MCSE.
• vài ki院n th泳c c<n b違n v隠 XML liên quan đ院n vi羽c chuy吋n thông tin t瑛 ch鰻 này qua ch鰻 khác. V隠 XML, b衣n nên tham
kh違o các bài vi院t XML, K悦 Thu壱t N欝ng C嘘t trong T逢挨ng Lai c栄a th亥y Lê Ð泳c H欝ng và các bài t詠 h丑c XML c栄a cô
B衣ch Trí c┡ng trên m衣ng Vovisoft này).
Th壱t ra, ta đâu làm khó nhau chi nh逢ng ph違i rào tr逢噂c đón sau nh逢 v壱y là vì con đ逢運ng ta đi tìm hi吋u v隠 ASP.NET h挨i l逸t l胤o
g壱p gh隠nh. M瓜t khi ta phát tri吋n m衣ng v噂i ASP.NET, ta ph違i v壱n d映ng t医t c違 các 泳ng d映ng liên h羽 và k院t h嬰p m丑i th泳 vào
nhau. Ðó c┡ng là lý do t衣i sao khoá h丑c này ch雨 nh逸m vào các l壱p trình viên đã có kinh nghi羽m phát tri吋n m衣ng. Tuy v壱y,
chúng tôi s胤 c嘘 g逸ng trình bày m瓜t cách đ挨n s挨, ng逸n và g丑n khi đ隠 c壱p đ院n các 泳ng d映ng k吋 trên trong các bài h丑c có liên
quan đ院n đ吋 b衣n (nh医t là b衣n nào thích thú trong vi羽c phát tri吋n m衣ng và m噂i làm quen v噂i ASP.NET) d宇 dàng theo d臼i và
tìm hi吋u v隠 ASP.NET.
Nhu Li羽u (Software)
Nhu li羽u (ph亥n m隠n hay software) t嘘i thi吋u ph違i có đ吋 h丑c khoá ASP.NET thành công:
• V隠 h羽 đi隠u hành (Operating System): ta nên dùng Windows 2000 (Professional hay Server) hay Windows XP
(Home hay Professional). Lý do chính là các versions c栄a Windows này h厩 tr嬰 Unicode và có th吋 cài t詠 do Internet
Information Server (IIS Version 5) h厩 tr嬰 ASPX đ吋 ta dùng cho ASP.NET vì IIS đ逢嬰c cung c医p mi宇n phí trong các
h羽 đi隠u hành k吋 trên.
• Ngoài ra, b衣n c亥n ph違i có .NET framework SDK (Software Development Kit) t違i xu嘘ng t瑛 m衣ng Microsoft. Chúng
tôi s胤 trình bày vi羽c at3i xu嘘ng 荏 đâu và công cu瓜c b嘘 trí nh逢 th院 nào 荏 bài h丑c s嘘 1. N院u nh逢 b衣n đã có và cài đ員t
Microsoft Visual Studio.Net (VS.NET) theo s詠 h逢噂ng d磯n các bài h丑c c栄a khóa H丑c Microsoft .NET thì càng t嘘t
n英a. Vì rãi rác trong các bài h丑c v隠 ASP.NET, chúng tôi c┡ng trình bày m瓜t s嘘 thí d映 dùng VS.NET cho ASP.NET
m員c dù th壱t ra ch雨 c亥n có Notepad thôi đã c┡ng ... d逢 xài su嘘t n<m.
• Cu嘘i cùng, b衣n c亥n ph違i có và cài đ員t thành công m瓜t c挨 s荏 d英 li羽u (Database) v英ng m衣nh t逢挨ng 泳ng v噂i OLE DBcompliant database system nh逢 SQL Server 2000 đ吋 dùng l逢u tr英 nh英ng thông tin c亥n thi院t. Tuy nhiên, ta c┡ng có
th吋 dùng MS Access 2000 đ吋 t衣m th運i thay th院 SQL Server 2000 cho các thí d映 trong khoá ph亥n nhi隠u trình bày các
n嘘i và các ki吋u thu th壱p d英 li羽u hay thông tin xuyên qua SQL Server 2000.
T衣i sao ta l衣i quan tâm và phát tri吋n m衣ng v噂i ASP.NET
Ta ph違i công nh壱n m瓜t đi隠u là .NET Framework và các 泳ng d映ng c栄a nó đã và đang t衣o m瓜t cu瓜c cách m衣ng k悦 thu壱t trong
công ngh羽 Tin H丑c (Information Technology), thay đ鰻i t壱n g嘘c r宇 các ki吋u m磯u l壱p trình hay phát tri吋n và tri吋n khai m衣ng
trên th院 gi噂i và do đó t衣o m瓜t v壱n h瓜i m噂i đáp 泳ng m丑i yêu c亥u kh育n thi院t cho các ngành ngh隠 k悦 thu壱t và th逢挨ng m衣i hi羽n
nay c┡ng nh逢 v衣ch m瓜t h逢噂ng đi v英ng ch逸c và dài lâu cho t逢挨ng lai Tin H丑c. ASP.NET chính là m瓜t trong nh英ng 泳ng d映ng
quan tr丑ng nh医t đ吋 phát tri吋n và tri吋n khai m衣ng m瓜t cách d宇 dàng ch逢a t瑛ng ... th医y t瑛 x逢a đ院n nay. Th壱t v壱y, không ph違i là
chúng tôi khoái ... n鰻 đâu, hãy l逸ng nghe th穎 chính Microsoft đã nói v隠 ASP.NET nh逢 th院 nào:
'ASP.NET is a revolutionary programming frramework that enables the rapid development of powerful web
applications and services. Part of the Microsoft .NET Platform, it provides the easiest and most scalable way to
develop, deploy and run distributed web applications that can target any browser or any application.'
Có y chang nh逢 v壱y hay không? hay là ch雨 qu違ng cáo theo ki吋u ... 'cao đ挨n h逢運n tán' mà thôi? Chúng ta hãy ... 'ng欝i xu嘘ng
đây, hãy ng欝i xu嘘ng đây' và ng欝i g亥n l衣i v噂i nhau đ吋 nhìn cho rõ nh英ng đ員c tính không ... t亥m th逢運ng c栄a ASP.NET nh逢 sau:
Developer Productivity
Easy Programming Model:
ASP.NET giúp ta phát tri吋n và tri吋n khai các 泳ng d映ng v隠 m衣ng trong m瓜t th運i gian k益 l映c vì nó cung c医p cho ta m瓜t ki吋u
m磯u l壱p trình d宇 dàng và g丑n gàng nh医t. Ngoài ra còn bãnh h挨n n英a, các trang ASP.NET làm vi羽c v噂i m丑i browsers hi羽n nay
nh逢 Internet Explorer (IE), Netscape, Opera, AOL, ... mà không c亥n ph違i đ鰻i t噂i đ鰻i lui các ngu欝n mã r医t v医t vã nh逢 tr逢噂c.
Flexible Language Options:
Không nh逢 ASP ki吋u c鰻 đi吋n ch雨 gi噂i h衣n v噂i VBScripts and JScripts, ASP.NET y吋m tr嬰 trên 25 .NET ngôn ng英 l壱p trình (d┄
nhiên ngoài các ngôn ng英 m噂i thi院t l壱p đã cài s印n y吋m tr嬰 .NET framework nh逢 là VB.NET, C# và JScript.NET còn có
MC++.NET, Smalltalk.NET, COBOL.NET, Eiffel.NET, Perl.NET, Component Pascal.NET, Mercury.NET, Oberon.NET,
Python.NET, vân vân và vân vân ... không k吋 xi院t).
Great Tool Support:
M員c dù ta có th吋 ch雨 c亥n dùng t噂i Notepad đ吋 tri吋n khai các trang ASP.NET nh逢ng Visual Studio.NET giúp n<ng su医t tri吋n
khai m衣ng thêm ph亥n hi羽u qu違 ví ta có th吋 quan sát các k院 ho衣ch c栄a ta d宇 dàng h挨n khi phát h丑a (design) các thành ph亥n c栄a
ASP.NET b茨ng hình 違nh v噂i ASP.NET Web Forms hay Services theo ph逢挨ng pháp 'drag-drop-doubleclick' quen thu瓜c c栄a
n隠n Windows. Thêm n英a, l衣i còn y吋m tr嬰 ta trong vi羽c phát hi羽n và lo衣i b臼 nh英ng l厩i sai m瓜t cách r医t thu壱n l嬰i trong khi phát
tri吋n các 泳ng d映ng v隠 m衣ng (support for debugging and deploying ASP.NET Web applications).
Ðây là trang đ亥u tiên khi dùng Visual Studio.NET:
Rich Class Framework:
Nh運 n隠n t違ng v英ng vàng và tài nguyên phong phú c栄a .NET Framework v噂i h挨n 5000 classes bao g欝m đ栄 th泳 m丑i chuy羽n
trên tr運i d逢噂i đ医t nh逢 XML, data access, file upload, regular expressions, transactions, message queuing, SMTP mail, vân vân
và vân vân ... nên vi羽c thi院t k院 các đ員c tính trong m瓜t 泳ng d映ng tr荏 nên nh姻 nhàng và tho違i mái h挨n x逢a r医t nhi隠u.
Improved Performance and Scalability
Compile execution:
ASP.NET không nh英ng ch衣y nhanh h挨n ASP c鰻 đi吋n g医p 5 l亥n mà còn có th吋 duy trì ki吋u m磯u c壱p nh壱t g丑i là ki吋u m磯u 'just
hit save', ngh┄a là ASP.NET t詠 đ瓜ng dò tìm m丑i s詠 thay đ鰻i và compile files khi c亥n thi院t c┡ng nh逢 l逢u tr英 k院t qu違 compile
đó đ吋 cung 泳ng d鵜ch v映 cho nh英ng yêu c亥u ti院p theo sau, nh運 v壱y 泳ng d映ng c栄a b衣n luôn luôn c壱p nh壱t hóa và ch衣y nhanh
h挨n c違 ... ng詠a Nhâm Ng丑 2002.
Rich output caching:
ASP.NET có kh違 n<ng l逢u tr英 m瓜t k院t qu違 chung trong phân b瓜 memory c栄a trang đ吋 g荏i gi違i đáp cho cùng m瓜t yêu c亥u t瑛
nhi隠u khách hàng khác nhau và nh運 đó không nh英ng ti院t ki羽m đ逢嬰c s詠 l壱p đi l壱p l衣i công tác thi hành c栄a m瓜t trang web mà
còn gia t<ng hi羽u xu医t m瓜t cách ngo衣n m映c do gi噂i h衣n t嘘i đa vi羽c ch医t v医n các c挨 s荏 d英 li羽u (eliminating the need to query
the database on every request) r医t t嘘n nhi隠u th運i gian.
.NET Outperforms J2EE:
Trong vi羽c đ嘘i đ亥u v噂i nhau v隠 hi羽u xu医t (performance) và scalability v噂i cùng m瓜t 泳ng d映ng phát tri吋n gi英a Sun's Java Pet
Store J2EE và ASP.NET thì ASP.NET không nh英ng nhanh v逢嬰t tr瓜i h挨n J2EE đ院n 28 l亥n (khoãng 2700%), ngu欝n mã l衣i ít
h挨n nhi隠u (khoãng 1/4 ngu欝n mã c栄a J2EE) mà còn dùng b瓜 x穎 lý (processor) ch雨 khoãng 1/6 l亥n so v噂i vi羽c s穎 d映ng
processor c栄a J2EE. N院u mu嘘n tìm hi吋u thêm, b衣n có th吋 truy tìm d宇 dàng nh英ng trang so sánh nh逢 v壱y khi n嘘i vào Internet
đ吋 'search' v隠 hi羽u xu医t c栄a c違 hai s違n ph育m.
Enhanced Reliability
Memory Leak, DeadLock và Crash protection:
ASP.NET c┡ng có kh違 n<ng t詠 đ瓜ng dò tìm và ph映c h欝i (detects and recovers) nh英ng tr荏 ng衣i nghiêm tr丑ng nh逢 deadlocks
hay b瓜 nh噂 (memory) b鵜 r雨 đ吋 b違o đ違m 泳ng d映ng c栄a b衣n luôn luôn s印n sàng khi dùng mà không làm c違n tr荏 vi羽c cung 泳ng
d鵜ch v映 c亥n thi院t th逢運ng l羽.
Easy Deployment
Simple application deployment:
ASP.NET đ挨n gi違n hóa vi羽c tri吋n khai 泳ng d映ng m衣ng, do đó bi院n vi羽c tri吋n khai toàn b瓜 泳ng d映ng tr荏 nên d宇 dàng và thu壱n
l嬰i h挨n h鰯n tr逢噂c kia vì bây gi運 ta ch雨 c亥n sao (v噂i XCOPY) và l逢u tr英 荏 Server ch泳 không c亥n ph違i ch衣y ch逢挨ng trình
'regsrv32' đ吋 đ<ng ký b医t c泳 thành ph亥n nào c違, và thêm n英a, khi c亥n l逢u tr英 nh英ng y院u t嘘 ph映 c亥n thi院t cho vi羽c thi院t l壱p hay
b嘘 trí các 泳ng d映ng, ta ch雨 c亥n l逢u gi英 nó vào trong m瓜t h欝 s挨 d逢噂i d衣ng XML là đ栄.
Dynamic update of running application:
ASP.NET cho phép ta t詠 đ瓜ng c壱p nh壱t hóa (update) các thành ph亥n đã compiled (compiled components) mà không c亥n ph違i
kh荏i đ瓜ng l衣i (re-start) các Web Server.
Easy Migration Path:
Ta không c亥n ph違i du nh壱p nh英ng 泳ng d映ng đ逢嬰c phát tri吋n và tri吋n khai b茨ng ASP c鰻 đi吋n hi羽n có c栄a b衣n vào ASP.NET vì
ASP.NET có th吋 ch衣y song song v噂i ... c詠u chi院n binh ASP 荏 cùng m瓜t Internet Information Server (IIS) trong n隠n Windows
2000 hay n隠n Windows XP. Các 泳ng d映ng c┡ v磯n ti院p t映c ch衣y h院t s泳c tho違i mái v噂i ASP.DLL trong khi ASP.NET engine s胤
x穎 lý các 泳ng d映ng m噂i. Ngoài ra, ASP.NET còn cho phép b衣n dùng l衣i nh英ng thành ph亥n th逢挨ng m衣i hi羽n nay ki吋u COM c鰻
đi吋n trong các 泳ng d映ng c栄a nó.
XML Web Services:
D鵜ch v映 tân k┻ v隠 m衣ng v噂i XML c┡ng cho phép b衣n truy隠n đ衣t (communicate) và chia x胤 (share) các d英 ki羽n (data) xuyên
qua m衣ng Internet d宇 dàng t噂i các SOAP client mà không h隠 phân bi羽t đ嘘i x英 các h羽 đi隠u hành hay các ngôn ng英 l壱p trình
khác nhau (regardless of OS or programming language). Nh運 đó, ta không c亥n ph違i h丑c thêm hay đào sâu các ki院n th泳c v隠
Networking, XML hay SOAP, ...
Mobile Web Service Support:
Thêm n英a, ASP.NET Mobile Controls còn giúp ta phát tri吋n và tri吋n khai m衣ng nh逸m vào th鵜 tr逢運ng nh英ng cell phone hay
PDA v噂i g亥n h挨n 80 Mobile Web Services đu嬰c cung c医p trong .NET framework. B衣n ch雨 c亥n l壱p trình cho 泳ng d映ng c栄a
b衣n nh逢 th逢運ng l羽 r欝i phó m員c cho Mobile Controls đó t詠 đ瓜ng phát sinh ra nh英ng ngu欝n mã nh逢 WAP/WML, HTML hay
iMode thích h嬰p v噂i t瑛ng lo衣i thi院t b鵜 (device) riêng bi羽t.
Thôi, đ院n đây ta t衣m ng瑛ng ... 'đánh bóng' nh英ng gì đã sáng chói đó mà hít m瓜t h挨i th壱t dài, b逢噂c m瓜t b逢噂c kh荏i đ亥u cho
cu瓜c hành trình tìm hi吋u và th詠c hành v隠 ASP.NET. V壱y xin m運i b衣n hãy sang sông, à không, sang ... trang v噂i bài s嘘 1
'Làm Quen v噂i ASP.NET'
Bài 01
Làm Quen v噂i ASP.NET
Hãy ngげi xuぐng đây, hãy ngげi xuぐng đây, xa c¬n buげn phizn.
Ddu bixt chia phôi, nh⇔ng trong cuじc đぜi, vdn có đôi ta.
Hãy ngげi xuぐng đây - Lê Uyên Ph⇔¬ng
Trong trang này, ta s胤 tham kh違o m瓜t s嘘 v医n đ隠 nh逢 sau:
• ASP.NET là gì?
• Ph逢挨ng pháp làm vi羽c trong m衣ng
• S挨 l逢嬰c v隠 .NET Framework
• B嘘 trí và cài đ員t ASP.NET
• T衣o trang ASP.NET đ亥u tiên
Ch逸c h鰯n ta có d鵜p đ逢嬰c nghe Nguy宇n Ng丑c Ng衣n k吋 v噂i K┻ Duyên r茨ng ông đã b臼 công g亥n 2, 3 n<m tr運i đ茨ng đ鰯ng đ吋 ...
nghiên c泳u r医t là c詠c kh鰻 m噂i khám phá ra m瓜t chân lý nh逢 sau: 'Thà là l医y v嬰 v瑛a tr飲 v瑛a đ姻p còn h挨n là l医y v嬰 ... v瑛a già
v瑛a x医u'. Ta thì không c亥n ph違i t嘘n nhi隠u n<m tháng đ院n th院 đ吋 bi院t đ逢嬰c ASP.NET v瑛a tr飲 v瑛a đ姻p h挨n là ASP ho員c nh英ng
ph逢挨ng pháp phát tri吋n m衣ng c鰻 đi吋n khác nh逢ng dù có bi院t rõ ASP.NET v瑛a tr飲 v瑛a đ姻p (Microsoft chính th泳c khai tr逢挨ng
s違n ph育m .NET Framework và MS Visual studio.NET vào ngày 13 tháng Hai n<m 2002, tuy nhiên r医t nhi隠u phiên b違n Beta2
đã đ逢嬰c ph鰻 bi院n kh逸p th院 gi噂i gi英a n<m 2001) nh逢ng m医y ai bi院t đ逢嬰c ASP.NET là gì và dung nhan ... mùa h衣 ra làm sao?
V壱y ta 'hãy ng欝i xu嘘ng đây' đ吋 b逸t đ亥u làm quen v噂i ASP.NET.
ASP.NET - EM LÀ AI?
Tr逢噂c h院t, h丑 tên c栄a ASP.NET là Active Server Pages .NET (.NET 荏 đây là .NET framework). Nói đ挨n gi違n, ng逸n và g丑n thì
ASP.NET là m瓜t công ngh羽 có tính cách m衣ng dùng đ吋 phát tri吋n các 泳ng d映ng v隠 m衣ng hi羽n nay c┡ng nh逢 trong t逢挨ng lai
(ASP.NET is a revolutionary technology for developing web applications). B衣n l逢u ý 荏 ch鰻 ASP.NET là m瓜t ph逢挨ng pháp t鰻
ch泳c hay khung t鰻 ch泳c (framework) đ吋 thi院t l壱p các 泳ng d映ng h院t s泳c hùng m衣nh cho m衣ng d詠a trên CLR (Common
Language Runtime) ch泳 không ph違i là m瓜t ngôn ng英 l壱p trình. Ngôn ng英 l壱p trình đ逢嬰c dùng đ吋 di吋n đ衣t ASP.NET trong
khóa này là VB.NET (Visual Basic .NET) và VB.NET ch雨 là m瓜t trong 25 ngôn ng英 .NET hi羽n nay đ逢嬰c dùng đ吋 phát tri吋n
các trang ASP.NET mà thôi.
Tuy mang h丑 tên g亥n gi嘘ng nh逢 ASP c鰻 đi吋n nh逢ng ASP.NET không ph違i là ASP. Ta s挨 l逢嬰c 荏 đây vài khác bi羽t gi英a
ASP.NET và ASP đ吋 b衣n có khái ni羽m t鰻ng quát và s胤 trình bày thêm chi ti院t khi đào sâu vào t瑛ng đi吋m đ員c tr逢ng (features)
c栄a ASP.NET 荏 t瑛ng bài h丑c m瓜t.
KHÁC BI烏T GI頴A ASP.NET VÀ ASP
ASP.NET đ逢嬰c phác th違o (re-design) l衣i t瑛 s嘘 không, nó đ逢嬰c thay đ鰻i t壱n g嘘c r宇 và phát tri吋n (develop) phù h嬰p v噂i yêu c亥u
hi羽n nay c┡ng nh逢 v衣ch m瓜t h逢噂ng đi v英ng ch逸c cho t逢挨ng lai Tin H丑c. Lý do chính là Microsoft đã quá chán nãn trong vi羽c
thêm th逸t và k院t h嬰p các công d映ng m噂i vào các ki吋u m磯u l壱p trình hay thi院t k院 m衣ng theo ki吋u c鰻 đi吋n nên Microsoft ngh┄
r茨ng t嘘t nh医t là làm l衣i m瓜t ki吋u m磯u hoàn toàn m噂i thay vì vá víu ch鰻 này ch鰻 n丑 vào ASP. Ðó là ch逢a k吋 đ院n nhi隠u phát
minh m噂i ra đ運i sau này d詠a trên các khái ni羽m m噂i m胤 theo xu h逢噂ng phát tri吋n hi羽n nay c栄a công ngh羽 Tin H丑c
(Information Technology) c亥n đ逢嬰c đ逢a vào ki吋u m磯u phát tri吋n m噂i đó. Nh運 v壱y, ta m噂i có th吋 nói ... kh挨i kh挨i ASP.NET
không ph違i là ASP. Th壱t v壱y , ASP.NET cung c医p m瓜t ph逢挨ng pháp hoàn toàn khác bi羽t v噂i ph逢挨ng pháp c栄a ASP.
L逢u ý, m員c dù ASP.NET và ASP khác bi羽t nhau nh逢ng chúng có th吋 ho衣t đ瓜ng vui v胤 hài hoà v噂i nhau trong Web Server c栄a
b衣n (operate side-by-side). Do đó, khi b衣n cài ASP.NET engine, b衣n không c亥n l壱p trình l衣i các 泳ng d映ng hi羽n có d逢噂i d衣ng
ASP c栄a b衣n tuy r茨ng, n院u mu嘘n, b衣n có th吋 làm đi隠u đó r医t d宇 dàng.
S衛 THAY Ð蔚I C愛 B謂N
ASP đã và đang thi hành s泳 m衣ng đ逢嬰c giao cho nó đ吋 phát tri吋n m衣ng m瓜t cách t嘘t đ姻p nh逢 v壱y thì t衣i sao ta c亥n ph違i đ鰻i m噂i hoàn
toàn? Lý do đ挨n gi違n là ASP không còn đáp 泳ng đ栄 nhu c亥u hi羽n nay trong lãnh v詠c phát tri吋n m衣ng c栄a công ngh羽 Tin H丑c. ASP
đ逢嬰c thi院t k院 riêng bi羽t và n茨m 荏 t亥ng phiá trên h羽 đi隠u hành Windows và Internet Information Server, do đó các công d映ng
c栄a nó h院t s泳c r運i r衣t và gi噂i h衣n.
Trong khi đó, ASP.NET là m瓜t c挨 c医u trong các c挨 c医u c栄a h羽 đi隠u hành Windows d逢噂i d衣ng n隠n hay khung .NET (.NET
framework), nh逢 v壱y ASP.NET không nh英ng có th吋 dùng các object c栄a các 泳ng d映ng c┡ mà còn có th吋 x穎 d映ng t医t c違 m丑i
tài nguyên mà Windows có, d宇 dàng nh逢 ... <n c挨m t医m bì s逢運n ch違 v壱y.
Ta có th吋 tóm t逸c đ衣i khái s詠 thay đ鰻i nh逢 sau:
• T壱p tin c栄a ASP.NET (ASP.NET file) có extension là .ASPX, còn t壱p tin c栄a ASP là .ASP.
• T壱p tin c栄a ASP.NET (ASP.NET file) đ逢嬰c phân tích ng英 pháp (parsed) b荏i XSPISAPI.DLL, còn t壱p tin c栄a ASP
đ逢嬰c phân tích b荏i ASP.DLL.
• ASP.NET là ki吋u m磯u l壱p trình phát đ瓜ng b茨ng s詠 ki羽n (event driven), còn các trang ASP đ逢嬰c thi hành theo th泳 t詠
tu亥n t詠 t瑛 trên xu嘘ng d逢噂i.
• ASP.NET x穎 d映ng trình biên d鵜ch (compiled code) nên r医t nhanh, còn ASP dùng trình thông d鵜ch (interpreted code)
do đó hi羽u su医t và t嘘c đ瓜 phát tri吋n c┡ng thua sút h鰯n.
• ASP.NET y吋m tr嬰 g亥n 25 ngôn ng英 l壱p trình m噂i v噂i .NET và ch衣y trong môi tr逢運ng biên d鵜ch (compiled
environment), còn ASP ch雨 ch医p nh壱n VBScript và JavaScript nên ASP ch雨 là m瓜t scripted language trong môi
tr逢運ng thông d鵜ch(in the interpreter environment). Không nh英ng v壱y, ASP.NET còn k院t h嬰p nhu亥n nhuy宇n v噂i XML
(Extensible Markup Language) đ吋 chuy吋n v壱n các thông tin (information) qua m衣ng.
• ASP.NET y吋m tr嬰 t医t c違 các browser và quan tr丑ng h挨n n英a là y吋m tr嬰 các thi院t b鵜 l逢u đ瓜ng (mobile devices). Chính
các thi院t b鵜 l逢u đ瓜ng, mà m厩i ngày càng ph鰻 bi院n, đã khi院n vi羽c dùng ASP trong vi羽c phát tri吋n m衣ng nh茨m v逢挨n t噂i
th鵜 tr逢運ng m噂i đó tr荏 nên vô cùng khó kh<n.
PH姶愛NG PHÁP LÀM VI烏C TRONG M萎NG
Internet đã và đang đem l衣i nhi隠u đi隠u k┻ di羽u cho đ運i s嘘ng c栄a ta. Th壱t v壱y, nó có kh違 n<ng 'n嘘i vòng tay l噂n' m丑i ng逢運i trên
th院 gi噂i t逢荏ng ch瑛ng nh逢 cách bi羽t xa xôi ngàn d員m b鰻ng d逢ng l衣i g亥n trong gang t医t, k悦 thu壱t này đã mang l衣i bi院t bao nhiêu
đi隠u m噂i m飲 đ院n cho ta t益 nh逢 e-mail, instant messaging hay World Wide Web (hay g丑i t逸c là WWW hay Web hay m衣ng)
làm vi羽c thông tin liên l衣c tr荏 nên d宇 dàng, do đó con ng逢運i cùng đ運i s嘘ng c┡ng thay đ鰻i nhanh chóng nh逢 ...'cu嘘n theo chi隠u
gió'.
T瑛 kh荏i đ亥u, vi羽c phát tri吋n 1 m衣ng h院t s泳c là đ挨n gi違n, ch雨 c亥n m瓜t hay vài trang trong đó ta mu嘘n chia s胤 b医t c泳 thông tin gì
ta thích là ch逸c ch逸n c┡ng có ng逢運i ghé qua th<m vi院ng. Tuy v壱y, các trang trong th運i k┻ kh荏i nguyên c栄a m衣ng r医t th映 đ瓜ng,
nó không cho phép khách vãng lai trao đ鰻i thông tin m瓜t cách h鰻 t逢挨ng (interact) v噂i ta, ngh┄a là th<m thì có th<m nh逢ng
không h臼i hay chia s胤 đ逢嬰c gì v噂i nhau.
D亥n dà, m衣ng phát tri吋n thêm nhi隠u công d映ng khác nhau g逸n thêm vào nào là hình 違nh, nào là tables, forms và cu嘘i cùng có
th吋 trao đ鰻i thông tin hay tâm tình v噂i khách vãng lai qua các 泳ng d映ng nh逢 guestbook, th<m dò ý ki院n (user, customer ho員c
là client poll) hay các di宇n đàn v噂i m丑i ti院t m映c trên tr運i d逢噂i đ医t. Sau đó, các chuyên gia phát tri吋n m衣ng l衣i thêm th逸t và
trang đi吋m cho m衣ng c栄a mình càng lúc càng đ員c s逸c h挨n, cùng muôn m亥u muôn v胤.
T医t c違 nh英ng c嘘 g逸ng đó đã đem tác đ瓜ng h鰻 t逢挨ng đ院n gi英a Web Master (hay nhóm qu違n lý m衣ng) và khách vãng lai nh逢 ta
đ逢嬰c ch泳ng ki院n hi羽n nay, tuy v壱y v磯n còn thi院u h鰯n 1 ph亥n quan tr丑ng nh医t là ph亥n n瓜i dung c挨 đ瓜ng tu┻ bi院n (dynamic
content). Do đó vai trò c栄a ph逢挨ng pháp d鵜ch v映 (server processing) đ逢嬰c phát tri吋n đ吋 có th吋 trình bày n瓜i dung đ逢嬰c l逢u tr英
trong các c挨 s荏 d英 li羽u (database) tu┻ theo yêu c亥u riêng bi羽t cho t瑛ng cá nhân.
KI韻U M郁U RESQUEST/RESPONSE
Ki吋u m磯u này chính là toàn b瓜 ph逢挨ng pháp làm vi羽c theo ki吋u Client /Server hi羽n dùng v噂i ASP.
Client/Server - M瓜t tr逢運ng h嬰p đ挨n gi違n nh医t là s詠 trao đ鰻i thông tin gi英a 2 máy vi tính đ吋 hoàn thành 1 công vi羽c đ逢嬰c đ鵜nh
tr逢噂c, trong đó máy Server cung c医p d鵜ch v映 theo yêu c亥u c栄a 1 máy khách hành (Client PC).
Th逢運ng th逢運ng, Server là máy vi tính l逢u tr英 thông tin v隠 m衣ng trong đó có hình 違nh, video, nh英ng trang HTML hay ASP. Client là
máy vi tính đ逢嬰c dùng đ吋 l逢噂t m衣ng. M瓜t cách t鰻ng quát ph逢挨ng pháp này g欝m có 4 b逢噂c c挨 b違n sau:
1. Client (thông qua Internet Browser) xác đ鵜nh v鵜 trí c栄a Web Server qua 1 n嘘i URL (Universal Resource Locator) t益 nh逢
www.vovisoft.com
2. Client s胤 yêu c亥u đ逢嬰c tham kh違o 1 trang trong m衣ng đó và th逢運ng là trang ch栄 (home page) t益 nh逢 index.htm hay
default.htm
3. Server đáp 泳ng b茨ng cách hoàn tr違 h欝 s挨 mà Client đã yêu c亥u.
4. Client nh壱n đ逢嬰c h欝 s挨 g荏i v隠 và hi吋n th鵜 (display) trong browser c栄a mình.
L逢u ý, m瓜t khi Client đã nh壱n đ逢嬰c h欝 s挨 r欝i, quá trình trao đ鰻i qua l衣i đó k院t thúc ngay t泳c kh逸c. Sau đó, Server và Client tr荏 thành
... 'ng逢òi xa l衣', coi nh逢 là ch逢a t瑛ng bao gi運 g員p nhau (stateless model), ta g丑i là ki吋u ... 'làm ng挨'.
KI韻U M郁U EVENT-DRIVEN
Ki吋u m磯u event-driven này dùng v噂i ASP.NET c┡ng t逢挨ng t嬰 nh逢 là ki吋u m磯u event-driven mà ta v磯n th逢運ng dùng trong khi
l壱p trình các 泳ng d映ng v噂i Visual Basic 6.
Trong ki吋u m磯u này, Server s胤 không 'ng欝i ... ch挨i x挨i n逢噂c' ch運 Client yêu c亥u tham kh違o 1 trang nào đó trong m衣ng mà
Server đã b嘘 trí và k院 ho衣ch s印n tr逢噂c t医t c違 m丑i tình hu嘘ng đ吋 có th吋 hành đ瓜ng k鵜p th運i m厩i khi Client quy院t đ鵜nh làm 1 đi隠u
gì đó. Ta g丑i đó là 'response to your action', còn trong ki吋u m磯u tr逢噂c là 'response to your request', nh逢 v壱y ASP.NET có th吋
phát hi羽n ra các hành đ瓜ng c栄a Client đ吋 ph違n 泳ng cho thích h嬰p.
Ð丑c t噂i đây ch逸c b衣n s胤 h臼i l衣i ngay r茨ng: '曳a, nh逢ng mà làm sao m瓜t Server nào đó, có th吋 荏 t壱n đâu đâu bên kia đ鵜a c亥u, l衣i
bi院t đ逢嬰c là ta đang gõ vài m磯u t詠 trong m瓜t h瓜p ch英 hay là đang nh医p m┡i chu瓜t (click) vào button trong ph亥n Guestbook
hay Forum c栄a Vovisoft đ吋 g荏i đi m瓜t thông đi羽p làm quen v噂i Vovisoft?'.
À, s叡 d雨 Server có th吋 làm đ逢嬰c 'chuy羽n ... khó tin nh逢ng có thi羽t đó' là d詠a vào ti院n trình x穎 lý linh đ瓜ng 荏 Client (g丑i là
clever client-side processing) đ吋 th詠c hi羽n ki吋u m磯u event-driven này c栄a mình. Ti院n trình x穎 lý 荏 Client xãy ra khi ta b嘘 trí
ngu欝n mã thích h嬰p mà Client có th吋 hi吋u đ逢嬰c trong các trang ta g荏i v隠 cho Client. L逢u ý là m員c dù các trang m衣ng (web
page) ta đ隠u ch泳a 荏 Server nh逢ng ngu欝n mã l衣i có th吋 đ逢嬰c th詠c hi羽n và x穎 lý, ho員c 荏 Server ho員c 荏 Client (Server-Side
processing và Client-Side processing) tu┻ theo cách ta b嘘 trí. Th壱t v壱y, ASP.NET không th吋 nào bi院t đ逢嬰c chuy羽n gì s胤 xãy ra
荏 máy vi tính c栄a b衣n (Client PC) nh逢ng nh運 vào ti院n trình x穎 lý linh đ瓜ng 荏 Client mà Server có th吋 ti院n hành ki吋u m磯u phát
tri吋n m衣ng m噂i theo ph逢挨ng pháp event-driven.
Nh噂 là ta có th吋 ch衣y ngu欝n mã 荏 2 ch厩 khác nhau: ho員c là ch衣y 荏 Server (g丑i là Server-side) ho員c là ch衣y 荏 Client (Clientside) và các ngu欝n mã 荏 2 ch厩 này hoàn toàn khác bi羽t, không có tác đ瓜ng h鰻 t逢挨ng v噂i nhau (no interact with each other).
Ði隠u đó có ngh┄a là máy Client s胤 ch鵜u trách nhi羽m thi hành các ngu欝n mã đ逢嬰c l壱p trình dành cho mình c┡ng nh逢 máy
Server ch雨 ch衣y các ngu欝n mã dành cho Server. Thông tin hay n瓜i dung c亥n thi院t 荏 Server s胤 đ逢嬰c chuy吋n sang d衣ng HTML
đ挨n gi違n (plain HTML) tr逢噂c khi g荏i đ院n cho Client, th逢運ng thì ngu欝n mã dành cho Client c┡ng đ逢嬰c chuy吋n đi d逢噂i d衣ng
'plain text command' đ吋 th詠c hi羽n các hi羽u 泳ng n<ng đ瓜ng (dynamic effect) 荏 máy Client, t益 nh逢 thay đ鰻i hình 違nh (image
rollover) hay hi吋n th鵜 m瓜t thông đi羽p (message box).
ASP.NET s胤 dùng các ngôn ng英 m噂i có trình biên d鵜ch (compiled languages) nh逢 C# hay VB.NET đ吋 so衣n các ngu欝n mã
trong các trang Web 荏 Server.
S愛 L姶営C V陰 .NET FRAMEWORK
M丑i ch泳c n<ng ASP.NET có đ逢嬰c hoàn toàn d詠a vào .NET framework, do đó có ch英 .NET trong ASP.NET. Ta c亥n ph違i hi吋u
th医u đáo ki院n trúc h衣 t亥ng c栄a .NET framework đ吋 dùng ASP.NET m瓜t cách hi羽u qu違, trong đó quan tr丑ng nh医t là CLR và
.NET Framework Class.
CLR (COMMON LANGUAGE RUNTIME)
CLR là môi tr逢運ng đ逢嬰c dùng đ吋 qu違n lý s詠 thi hành các ngu欝n mã (manage the execution of code) mà ta đã so衣n ra và biên
d鵜ch (write and compile code) trong các 泳ng d映ng. Tuy nhiên khi biên d鵜ch ngu欝n mã, ta l衣i biên d鵜ch chúng ra thành m瓜t
ngôn ng英 trung gian g丑i là Microsoft Intermediate Language (MSIL). Chính MSIL trung gian này là ngôn ng英 chung cho
t医t c違 các ngôn ng英 .NET hi羽n có, do đó ch逸c b衣n c┡ng đoán ra là ASP.NET c┡ng đ逢嬰c biên d鵜ch (compile) ra MSIL nh逢 m丑i
ai khác. Trong khi biên d鵜ch nh逢 v壱y, các 泳ng d映ng c┡ng s違n xu医t ra nh英ng thông tin c亥n thi院t đ吋 t詠 ... qu違ng cáo chính mình,
ta g丑i nh英ng thông tin này là metadata. Ð院n khi ta ch衣y m瓜t 泳ng d映ng, CLR s胤 ti院p qu違n (take-over) và l衣i biên d鵜ch
(compile) ngu欝n mã m瓜t l亥n n英a ra thành ngôn ng英 g嘘c (native language) c栄a máy vi tính tr逢噂c khi thi hành nh英ng công tác
đã đ逢嬰c b嘘 trí trong ngu欝n mã đó. Ta có th吋 c違m th医y nh英ng vi羽c b壱n r瓜n sau h壱u tr逢運ng đó khi ph違i ch運 đ嬰i 1 khoãng th運i
gian c亥n thi院t đ吋 CLR ch医m d泳t nhi羽m v映 c栄a nó khi l亥n đ亥u ph違i biên d鵜ch (compile) và hi吋n th鵜 1 trang Web, nh逢ng r欝i m丑i
chuy羽n s胤 xuôi chèo mát mái, cu嘘i cùng là ta có m瓜t trình biên d鵜ch (compiled code) đ吋 x穎 d映ng r医t hi羽u qu違.
.NET FRAMEWORK CLASSES
Ði隠u quan tr丑ng nh医t mà ta c亥n ph違i nh噂 là m丑i th泳 trong .NET đ隠u là object, t益 nh逢 các trang ASP.NET, các h瓜p thông đi羽p
(message box) hay là nút b医m (button), t医t c違 đ隠u là object c違. Các object đó đ逢嬰c t鰻 ch泳c l衣i thành t瑛ng nhóm riêng bi羽t nh逢
trong m瓜t th逢 vi羽n đ吋 ta d宇 dàng x英 d映ng. Ta g丑i các nhóm nh逢 v壱y là namespaces, và ta s胤 dùng nh英ng namespace này đ吋
g丑i hay nh壱p (import) các class c亥n thi院t cho 泳ng d映ng c栄a mình.
雲 đây, ta ch雨 s挨 l逢嬰c m瓜t chút v隠 .NET framework mà thôi, b衣n có th吋 tham kh違o đ亥y đ栄 chi ti院t v隠 .NET framework 荏 các
bài vi院t c栄a th亥y Lê Ð泳c H欝ng trong khóa H丑c .NET Framework và VB.NET
CÀI Ð咽T ASP.NET
Ð吋 ch衣y trang ASP.NET, tr逢噂c h院t ta c亥n ph違i cài đ員t thành công:
• Internet Information Server (IIS) và b嘘 trí Virtual Directory dùng trong khóa T詠 H丑c ASP.NET c栄a Vovisoft.
• MS Visual Studio.NET - trong tr逢運ng h嬰p này thì MS Visual Studio.NET đã cài s印n .NET Framework SDK cho ta dùng
v噂i ASP.NET ho員c là Microsoft ASP.NET Web Matrix (chi ti院t đ逢嬰c trình bày 荏 bài Gi噂i Thi羽u V隠 Web Matrix).
• .NET Framework Software Development Kit (SDK) - n院u ta không có MS Visual Studio.NET, ta có th吋 t違i .NET
Framework Software Development Kit (SDK) xu嘘ng t詠 do t瑛 m衣ng www.microsoft.com/NET , v噂i SDK, ta ch雨 có th吋
dùng Notepad ho員c m瓜t Text Editor nào ta thích đ吋 phát tri吋n trang ASP.NET mà thôi.
Nh噂 là ASP.NET là k悦 thu壱t phát tri吋n m衣ng 荏 phiá Server, do đó ta ph違i c亥n có Internet Information Server (hay th逢運ng đ逢嬰c g丑i
đ挨n gi違n h挨n là Web Server) đ吋 so衣n (phát tri吋n hay l壱p trình) các trang v隠 m衣ng cho khách vãng lai ghé th<m c┡ng nh逢 tham kh違o
các thông tin liên h羽. Nh逢ng khác v噂i các trang ASP c鰻 đi吋n, Web Server s胤 không hi吋u các trang ASP.NET n院u nh逢 ta quên hay b臼
sót không cài .NET Framework SDK ho員c không cài MS Visual Studio.NET, chính nh運 荏 .NET Framework SDK mà ta có đ亥y đ栄
các công d映ng và các object hay classes c亥n thi院t cho các trang ASP.NET c栄a ta.
CÀI INTERNET INFORMATION SERVER (IIS)
Internet Information Server (IIS) Version 5.0 là m瓜t s違n ph育m 'cho không ... bi院u không' c栄a Microsoft khi ta mua MS Windows
2000 Professional hay MS Windows XP Professional. IIS chuyên tr鵜 v隠 Web Server, qua đó ta có th吋 cung c医p các d鵜ch v映 nói chung
v隠 m衣ng cho khách vãng lai, mà d鵜ch v映 v隠 m衣ng thì thiên hình v衣n tr衣ng, nh臼 xíu nh逢 t瑛 cây kim s嬰i ch雨 cho đ院n v┄ đ衣i nh逢 phi
thuy隠n, gi違i Ngân Hà hay v┡ tr映, đ隠u có th吋 đ逢嬰c b嘘 trí đ亥y đ栄 thông tin hay các 泳ng d映ng liên h羽 c亥n thi院t đ吋 đáp 泳ng nhu c亥u c栄a
khách vãng lai.
1. Ð吋 cài IIS Version 5.0 trong MS Windows XP Professional, ta b逸t đ亥u ch丑n:
• Start, Settings, Control Panel, Add/Remove Programs và nh医p đ挨n (click) Add/Remove Windows Components, xong ch丑n
Internet Information Server nh逢 sau:
2. N院u ta nh医p đ挨n nút <Details>, ta có th吋 t詠 do l詠a ch丑n thêm hay b噂t các thành ph亥n trong IIS, t益 nh逢 ta có th吋 b嘘 trí thêm File
Transfer Protocol Service (FTP Server) đ吋 qu違n lý m瓜t cách hi羽u qu違 h挨n vi羽c t違i lên (upload) hay t違i xu嘘ng (download) các h欝 s挨
(documents) hay t壱p tin (files).