Thứ Hai, 3 tháng 3, 2014

Tài liệu Tự học ASP.Net bằng tiếng việt ppt

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 phin.
Du bit chia phôi, nhng trong cuc đi, vn 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 (Client-
side) 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).
3. Nhp nút <Next>, Windows XP Professional s thu thp các thông tin liên h và bt đu tin trình cài đt IIS. Ch trong vòng vài
phút là ta đã có mt Web Server ngon lành trong máy vi tính. Gi đây, bn đã tr thành mt Web Master 'bt đc d'. Xin chúc
mng tân Web Master, ít ra ta cng tr thành Web Master chính máy vi tính ca ta (Web Master ca local host).
4. Ð xác đnh vic cài thành công Web Server, ta có th th nh sau:
• M Browser ca bn, t nh Microsoft Internet Explorer và gõ hàng ch nh sau vào hp đa ch (Uniform Resource
Locator)
http://localhost hay http://cantho
cantho (Cn Th) trong trng hp này chính là tên máy vi tính ca tôi đó (Computer Name). Ta có th gi
localhost hay cantho tu ý.
• Sau khi ta nhp nút <Enter>, trang mc đnh (default page) ca IIS s hin th nh sau:


B TRÍ VIRTUAL DIRECTORY DÙNG TRONG KHÓA T HC ASP.NET CA
VOVISOFT

Trc khi ta có th to ra và b trí mt
virtual directory tên là VovisoftASPNET (hoc bt c tên nào bn thích) dùng trong khóa
T Hc ASP.NET này, ta phi làm mt s vic nh sau:
• To ra 1 sub folder Vovisoft ASPNET cho các bài tp (Exercises).
• Vào (access) bên trong Web Server đ kim tra hay qun lý các tài nguyên trong mng.
• B trí virtual directory VovisoftASPNET.
Chi tit các bc theo th t nh sau:
1. To ra mt sub directory có tên là Vovisoft ASPNET cu trúc  drive D nh sau: D:\Net\Vovisoft ASPNET, đ ý là có mt ch
trng gia 2 ch Vovisoft và ASPNET. Tuy vy, nu bn nhuyn v IIS, bn có th đt tên tùy thích và không nht thit phi theo y
chang kiu mu này, nhng bn phi hiu vic bn làm đ b trí mt virtual directory thích hp dùng thc hành các bài tp trong
khóa sao cho thành công.

2. Có nhiu phng pháp vào (access) bên trong Web Server trc khi b trí virtual directory, ta có th dùng
MMC (Microsoft
Management Console)
đ cng thêm IIS snap-in vào console hoc ta có th chy IIS bng cách chn: Start, Programs,
Administartive Tools, Internet Information Service
.
Phng pháp dùng MMC là phng pháp đc các
MCP (Microsoft Certified Professional) hay MCSE (Microsoft Certified
System Engineer)
a thích hn vì tính cách linh đng mm do thích hp cho vic qun lý các ngun tài nguyên khác nhau trong
mng.
Di đây là hình đc trng cho vic dùng MMC:

Tuy nhiên, ta s không đào sâu vào chi tit vic x dng MMC đ b trí virtual directory cho khóa hc  đây mà ta s dùng kiu vào
IIS trc tip qua vic chn:
Start, Programs, Administrative Tools, Internet Information Service nh đã trình bày  trên. IIS s
hin th nh sau:

3. B trí mt virtual directory VovisoftASPNET:
• Nhp phi (right click) vào Default Web Site, chn New, Virtual Directory:

• Virtual Directory Creation Wizard s bt đu tin trình b trí:

• Nhp vào nút <Next> và gõ
VovisoftASPNET  hp Alias:

• Nhp vào nút <Next> và dùng <Browse > đ chn sub folder 'D:\Net\Vovisoft ASPNET' mà ta đã chun b trc đây cho
các bài tp ca khóa.

• Chp nhn các b trí mc đnh (default settings) cho virtual directory VovisoftASPNET. Nu thích, ta có th thêm vào đó
quyn Browse (mc đích là sau này ta d truy cp và chy các trang ASP.NET phát trin cho ng dng ca mình).
• Nhp <Next> và sau đó <Finish> đ kt thúc tin trình b trí.


Th là ta đã có mt virtual directory đ chy các trang ASP.NET sau này.
Bn thy đó! Vic to ra 1 virtual direcotry còn d dàng hn là n 'tô tái nm'.
CÀI MS VISUAL STUDIO.NET
Xin tham kho
bài hc s 1 ca thy Lê Ðc Hng  khóa Hc Microsoft .NET Framework v vic làm sao đ cài đt MS Visual
Studio.NET thành công.
Lu ý: Khi cài MS Visual Studio.NET là ta cng đã cài .NET Framework SDK, do đó ta không cn phi theo nhng ch dn v vic
cài đt .NET Framework SDK nh trình bày  bc k tip.
CÀI .NET FRAMEWORK SOFTWARE DEVELOPMENT KIT (SDK)
Tuy ta có th ti xung min phí .NET Framework SDK  mng
www.microsoft.com/NET nhng lu ý là SDK này gm tng cng
gn hn 130 MBytes nên ta s mt rt nhiu thi gian (khoãng 6, 7 gi) đ ti thành công trong trng hp dùng 56 Kbps modem.
Ngoài ra, thay vì ti qua mng, ta cng có th đt mua SDK cha trong CD-ROM hay truy cp SDK trong các CD-ROM biu kèm
vi các tp chí Tin Hc.
Mt khi đã có .NET Framework SDK ri, ta ch cn chy chng trình
setup là xong. Tin trình này cng s rt lâu vì Windows s
khai m tng tp tin mt cng nh thu thp các thông tin cn thit cho vic b trí .NET Framework  máy ca ta, do đó tt hn ht

Không có nhận xét nào:

Đăng nhận xét