Tạo các ứng dụng .NET bằng C#
C# thdùng để tạo các ứng dụng console: các ứng dụng thuần văn bản
chạy trên DOS window. Hu như bạn chỉ tạo các ứng dụng console khi cn
kim tra các thư viện lớp, hoặc cho các tiến trình daemon Unix/Linux. t
nhiên, bn cũng thể dùng C# để tạo các ng dụng dùng cho các ng
nghtương thích .NET. Trong phần này, chúng ta xem qua vcác kiểu ứng
dụng khác nhau có thể tạo ra bằng C#.
Tạo các ứng dụng ASP.NET
ASP một công nghệ ca Microsoft dùng để tạo các trang web ni dung
động. Một trang ASP thực chất là một file HTML có nhúng c khối server-
side VBScript hay JavaScript. Khi một trình duyệt khách yêu cầu mt trang
ASP page, web server ssinh ra mã HTML, xcác server-side script khi
chúng đến. Thường thì các script struy cập vào mt cơ sở dữ liệu để ly d
liu, và biu diễn trên trang HTML. ASP cách đơn giản nhất để tạo các
ứng dụng browser-based.
ASP tất nhiên cũng một vài hn chế. Trước tiên, các trang ASP thỉnh
thong trở nên rất chậm bởi vì server-side được thông dch thay vì đựơc
biên dch. Thứ hai, các file ASP kbảo trì bi vì chúng không cu trúc;
server-side ASP và HTML được trộn lẫn với nhau. Thứ ba, ASP đôi khi
kho phát triển bởi nó không quan m đến bẫy lỗi và kiểm tra kiểu. Cthể,
nếu bạn dùng VBScript muốn bẫy li trên c trang của bạn, bạn phải
dung câu lnh On Error Resume Next, cho phép tt cả các thành phn gọi
thông qua một Err.Number để chắc rằng tất cả đều tốt.
ASP.NET là một phiên bn mới ca ASP đã cải tiến rất nhiều các thiếu xót
của nó. Nó không chỉ thay thế ASP; hơn thế, các trang ASP.NET có thể sống
chung với các ứng dụng ASP trên cùng một máy chủ. Tất nhiên bn thể
lập trình ASP.NET với C#!
Mặt dù các chương (14-16) sbàn kĩ về ASP.NET, nhưng chúng ta cũng nói
qua một vài đặc tính quan trọng của nó.
Các đặc tính ca ASP.NET
Trước tiên, llà quan trọng nhất, các trang ASP.NET là các trang
cấu trúc. nghĩa là mỗi trang là thực tế là một lớp được thừa kế từ lớp
.NET System.Web.UI.Page, th ghi đè một tập các phương thức sẽ
dùng trong thi gian sống của trang web (bạn hãy tưởng tượng rằng nhữn s
kiện y như là anh em con với các sự kin OnApplication_Start
OnSession_Start trong file global.asa của ASP cũ.) Bởi vì bn thể chuyển
các thao tác ca một trang thành các s kin sáng nghĩa n, chính vì thmà
các tramg ASP.NET dễ hiểu hơn.
Một điểm mạnh khác là các trang ASP.NET thđược tạo trong VS.NET,
cùng chung môi trường với các thành phần luận và dliệu sẽ được dùng
trong c trang web này. Một nhóm đề án VS.NET, hoặc solution, chứa tất
ccác file liên quan đển một ứng dụng. Hơn thế nữa bạn thể bẫy lỗi các
trang ASP của bạn ngay trong trình thiết kế; trước đây, thật khó khăn đ
có thể cấu hình InterDev và các đề án web server để thực hiện bẫy lỗi.
ràng, đặc tính ASP.NET's code-behind giúp các bn có thể dễ dàng cu
trúc một trang web. ASP.NET cho phép bạn tách bit c chức năng server-
side của trang thành một lớp, biên dịch lp đó thành một DLL, và đặt DLL
đó vào một tmục n dưới phần HTML. Một code-behind chi phối đỉnh
của một trang web tương đương với file DLL ca nó. Khi một trình duyệt
yêu cu trang, web server phát ra c sự kiện trong lớp ca page's code-
behind DLL.
Cuối cùng kng m phần quan trọng, ASP.NET thật sự đáng cý với
khnăng ng cường sthực thi. Ngược lại với các trang ASP được thông
dch cho mi yêu cu, web server u giữ lại các trang ASP.NET sau q
trình biên dịch. Nghĩa là các yêu cu sau của một trang ASP.NET sẽ thực thi
nhanh hơn trang đầu tiên.
ASP.NET d tạo các trang hơn bởi vì nó được chiếu bởi trình duyệt, bạnc có
thsdụng một môi trường mng intranet. Theo kinh nghiệm truyn thống
thì một ng dụng form-based thường là tốt hơn mt user interface, nhưng
cũng khó bảo trì hơn vì nó chạy trên nhiều máy khác nhau.
Với sra đời của Internet Explorer 5 và sthực thi hcủa Navigator 6,
tất nhiên các đặc tính ca ứng dụng form-based bị che mờ. IE 5's hỗ trợ nhất
quán mạnh mẽconsistent cho DHTML cho phép c nhà lập trình tạo các
ứng dụng web-based đẹp là lớn hơn. Tất nhiên, các ứng dụng này bắt buộc
phải theo chun của IE không được hỗ trợ bởi Navigator. Trong nhiu
lĩnh vực công nghiệp, chuẩny đã trnên phổ biến.
Web Forms
Để dễ dàng cho việc tạo c trang có cấu truc, Visual Studio .NET cung cấp
Web Forms. Chúng cho phép bn tạo các trang ASP.NET sinh động như
cách VB 6 hay C++ Builder windows đã làm; cách khác, bng cách
kéo các controls ttoolbox vào form, sau đó sắp xếp cho đẹp, điền mã qun
skiện thích hợp vào control đó. Khi bạn dung C# để tạo các Web Form,
bạn đang tạo một lớp C# được thừa kế từ lớp Page base, và một trang ASP
được chỉ định như code-behind. Tt nhiên, không bắt buộc phải dùng C#
để tạo một Web Form; bạn có thdùng VB.NET hoặc một ngôn ngữ biết
.NET khác.
In the past, the difficulty of web development has discouraged some teams
from attempting it. To succeed in web development, you had to know so
many different technologies, such as VBScript, ASP, DHTML, JavaScript,
and so on. By applying the Form concepts to web pages, Web Forms
promise to make web development easier. Only time will tell, however, how
successful Web Forms and Web Controls (which we'll look at next) will be
at insulating the developer from the complexities of web design.
Web Controls
Các control thường được cư t trên một Web Form không phi là các
ActiveX control. Hơn nữa, chúng là XML tags trong ASP namespace
browser thchuyển sang HTML và client-side script khi một trang được
yêu cầu. Đặc biệt hơn, web server thể các điều khiển server-side control
theo nhiều ch khác nhau, sinh ra sbiến đổi phù hợp với các yêu cu của
các web browser riêng biệt. Điu này có nghĩa là sdễ dàng viết các giao