Giáo trình Lập trình mạng - Hồ Viết Hà

BỘ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI  
TỔNG CỤC DẠY NGHỀ  
GIÁO TRÌNH  
Tên Mô đun: LẬP TRÌNH MẠNG  
NGHỀ: QUẢN TRỊ MẠNG MÁY TÍNH  
TRÌNH ĐỘ: CAO ĐẲNG NGHỀ  
(Ban hành kèm theo Quyết định số: 120/QĐ-TCDN ngày 25 tháng 02 năm 2012  
của Tổng cục Trưởng Tổng cục dạy nghề)  
Hà Nội, Năm 2013  
LỜI GIỚI THIỆU  
Ngày nay, mạng máy tính đã trở thành công cụ không thể thiếu trong tất cả  
các lĩnh vực của cuộc sống. Việc nắm bắt những kỹ thuật qua đó hình thành  
được kỹ năng lập trình mạng được xem là yêu cầu cấp thiết đối với sinh viên  
chuyên ngành máy tính nói chung và quản trị mạng nói riêng. Giáo trình này  
được biên soạn nhằm giúp sinh viên làm quen với những khái niệm và kỹ thuật  
mới trong lập trình mạng để đáp ứng được yêu cầu trong lập trình mạng.  
Hà Nội, ngày 20 tháng 1 năm 2013  
Tham gia biên soạn  
1. Chủ biên Hồ Viết Hà  
2. Thành viên Dương Hiển Tú  
 
MỤC LỤC  
TUYÊN BỐ BẢN QUYỀN ..................................................................................2  
MÔ ĐUN LẬP TRÌNH MẠNG  
Mã mô đun : MĐ35  
Vị trí, tính chất, ý nghĩa và vai trò của Môđun  
- Vị trí: Mô đun được bố trí vào năm thứ 3 học kì II của khóa học.  
- Tính chất: Mô đun chuyên môn nghề tự chọn.  
- Ý nghĩa và vai trò : Đây là mô đun chuyên môn nghề cung cấp cho sinh viên  
các kỹ năng cơ bản nhất về lập trình mạng, xây dựng các sản phẩm phần  
mềm để phục vụ công việc quản trị mạng.  
Mục tiêu của mô đun  
- Trình bày nguyên lý lập trình mạng, cơ chế hoạt động của chương trình  
thông qua các Giao thức, hàm truy xuất.  
- Mô tả mô hình mạng, Giao thức truy cập thông qua các chương trình được  
cài đặt.  
- Sử dụng thành thạo các công cụ lập trình Windows hoặc Java để lập trình.  
- Xây dựng được các ứng dụng mạng : dịch vụ, hệ thống, dữ liệu để bảo vệ hệ  
thống, giám sát hệ thống, truy vấn dữ liệu….  
- Bố trí làm việc khoa học đảm bảo an toàn cho người và phương tiện học  
tập.  
Nội dung của môn học  
Thời gian  
Số  
TT  
Kiểm  
Tra*  
Tên các bài trong mô đun  
Tổng  
số  
Lý  
Thực  
thuyết hành  
1 Tổng quan lập trình mạng  
2 Vấn đề I/O trong .NET  
3 Làm việc với Sockets  
4 Truyền thông với Web Servers  
5 Truyền thông với Mail Servers  
6 Truyền thông với File server  
7 Bảo mật mạng :Firewalls, Proxy  
Servers, and Routers  
10  
10  
17  
13  
16  
13  
5
4
5
4
6
4
5
5
12  
8
10  
8
1
1
1
1
4
11  
2
8
Cộng  
90  
30  
56  
BÀI 1: TỔNG QUAN VỀ LẬP TRÌNH MẠNG  
Mã bài : MĐ35.01  
Giới thiệu:  
Trình bày các vấn đề tổng quát liên quan đến lập trình mạng cũng như  
ngôn ngữ sẽ được sử dụng trong quá trình lập trình các ứng dụng thực thi trên hệ  
thống mạng. Hướng dẫn môi trường lập trình .NET Framwork.  
Mục tiêu của bài :  
- Trình bày các vấn đề về điều hành mạng và lập trình mạng: Vấn đề  
truyền thông tin, địa chỉ IP, Giao thức, các tầng liên lạc và tính phân cấp của các  
giao thức, thông điệp.  
- Trình bày được các thành phần của môi trường .NET Framwork.  
- Thực hiện các câu lệnh cơ bản của Visual Studio .NET.  
- Thực hiện các thao tác an toàn với máy tính.  
1. Lịch sử phát triển của Lập trình mạng  
Mục tiêu : Trình bày được cấu trúc và lịch sử phát triển của kỹ thuật lập  
trình mạng.  
Cuốn sách này sẽ giúp bạn phát triển các ứng dụng mạng với NET, bằng  
cách sử dụng C (phát âm là C-sharp) hoặc ngôn ngữ lập trình VB.NET. Nó được  
chia thành ba phần riêng biệt: vấn đề cơ bản kết nối mạng, thiết kế ứng dụng  
phân tán, và các chủ đề mạng chuyên ngành. Sáu chương đầu tiên của cuốn sách  
bao gồm các công nghệ Internet thành lập, chẳng hạn như email và World Wide  
Web. Tận dụng công nghệ thành lập như thế này cho phép truy cập công cộng  
nói chung lớn hơn cho dịch vụ phần mềm của bạn bởi vì hầu hết người dùng đã  
có một trình duyệt web hoặc ứng dụng email trên máy tính của họ. các bài tiếp  
theo thảo luận về thiết kế ứng dụng mạng. Điều này bao gồm bảo mật ứng dụng,  
hiệu suất, và khả năng mở rộng. Chứa trong các chương này là thực tế, thực  
hành lời khuyên để giúp nâng cao chất lượng tổng thể của phần mềm của bạn.  
Với bảo mật khó khăn hơn, các ứng dụng của bạn sẽ ít nhạy cảm với hành vi  
trộm cắp sở hữu trí tuệ và các thông tin đặc quyền. Cải tiến hiệu suất và khả  
năng mở rộng được mô tả trong phần này sẽ đảm bảo rằng ứng dụng của bạn  
vẫn đáp ứng ngay cả dưới tải cực đoan nhất. Các mạng phần chuyên đề cung cấp  
vô số thông tin về cả hai thích hợp và các công nghệ Internet tiên tiến. Chúng  
bao gồm các chương về điện thoại, chụp gói, hàng đợi tin nhắn, IPv6, và dịch vụ  
mới nhất của Microsoft trong lĩnh vực phát triển ứng dụng phân tán: dịch vụ  
Web và truy cập từ xa.  
2. Lý do lập trình mạng trên nền tảng .NET  
Mục tiêu : Trình bày các lý do lập trình mạng trong môi trường .NET  
Một trong những quyết định kỹ thuật đầu tiên được thực hiện bất cứ khi  
nào một dự án mới được thực hiện là ngôn ngữ để sử dụng. NET là một nền tảng  
có khả năng để phát triển hầu như bất kỳ giải pháp, và nó cung cấp hỗ trợ đáng  
kể cho lập trình mạng. Trong thực tế,. NET có hỗ trợ nội tại cho mạng hơn so  
với bất kỳ nền tảng khác được phát triển bởi Microsoft. Cuốn sách này giả định  
rằng bạn đã quyết định để phát triển với NET, và ngôn ngữ bên ngoài nền tảng  
     
NET sẽ không được thảo luận trong bất kỳ chi tiết tuyệt vời, ngoại trừ cho mục  
đích so sánh. Điều này không phải là để nói rằng NET là được-tất cả và cuối  
cùng tất cả các ứng dụng lập trình mạng. Nếu ứng dụng của bạn chạy trên một  
cơ sở hạ tầng UNIX chỉ giao tiếp thông qua Java gọi phương thức từ xa (RMI),  
sau đó. NET không phải là con đường để đi. Trong hầu hết các trường hợp, tuy  
nhiên, bạn sẽ tìm thấy điều đó. NET là nhiều hơn khả năng xử lý bất cứ điều gì  
bạn ném vào nó.  
3. Phạm vi  
Mục tiêu: Phân tích các phần mềm ứng dụng lập trình mạng, nguyên tắc  
làm việc của các phần mềm  
Một chương trình mạng là bất kỳ ứng dụng mà sử dụng một mạng máy  
tính để chuyển thông tin đến và đi từ các ứng dụng khác. Ví dụ từ trình duyệt  
web phổ biến như Internet Explorer, hoặc chương trình mà bạn sử dụng để nhận  
email của bạn, phần mềm điều khiển tàu vũ trụ tại NASA.  
Tất cả các thành phần này chia sẻ phần mềm khả năng giao tiếp với các  
máy tính khác, và khi làm như vậy, trở nên hữu ích hơn cho người sử dụng  
cuối. Trong trường hợp của một trình duyệt, tất cả các trang web bạn truy cập  
được các tập tin được lưu trữ trên một máy tính ở một nơi khác trên Internet.  
Với chương trình email của bạn, bạn đang giao tiếp với một máy tính tại nhà  
cung cấp dịch vụ Internet (ISP) của bạn hoặc trao đổi email của công ty được tổ  
chức email của bạn cho bạn Cuốn sách này là chủ yếu quan tâm đến việc tạo ra  
các chương trình mạng, không Web các trang web. Mặc dù khả năng của những  
trang web và các chương trình mạng một cách nhanh chóng hội tụ, nó là quan  
trọng để hiểu các đối số và đối với mỗi hệ thống. Một dịch vụ truy cập thông  
qua một trang web có thể truy cập ngay lập tức để người sử dụng trên nhiều nền  
tảng khác nhau, và toàn bộ kiến trúc mạng đã sẵn sàng xây dựng cho bạn, tuy  
nhiên, có một điểm mà tại đó tính năng này chỉ đơn giản là không khả thi để  
thực hiện bằng cách sử dụng các trang web và mà tại đó bạn có chuyển sang  
mạng các ứng dụng.  
Người dùng thường tin tưởng các ứng dụng mạng, do đó, các chương  
trình này có quyền kiểm soát lớn hơn đối với các máy tính mà họ đang chạy hơn  
một trang web trên máy tính xem nó. Điều này làm cho nó có thể cho một ứng  
dụng mạng để quản lý các tập tin trên máy tính địa phương, trong khi một trang  
web, cho tất cả các mục đích thực tế, không thể làm điều này. Quan trọng hơn,  
từ góc độ kết nối mạng, một ứng dụng có quyền kiểm soát lớn hơn đối với làm  
thế nào nó có thể giao tiếp với các máy tính khác trên Internet..  
Có một ngoại lệ cho quy tắc này, khi thực thi nội dung (chẳng hạn như  
một điều khiển ActiveX) được bao gồm trong một trang. Trong trường hợp này,  
trang này là khả năng của tất cả mọi thứ có thể làm một chương trình mạng,  
nhưng hầu hết các trình duyệt và phần mềm chống virus sẽ cảnh báo chống lại  
hoặc phủ nhận nội dung thực thi như vậy. Vì vậy, kịch bản này thường được  
chấp nhận là không khả thi vì mất lòng tin công cộng. Để đưa ra một ví dụ đơn  
giản, một trang web không có thể làm cho máy tính được xem nó mở một kết  
nối mạng liên tục cho các máy tính khác (ngoại trừ các máy tính mà từ đó các  
 
trang web đã được phục vụ). Điều này áp dụng ngay cả khi các trang web có  
chứa nội dung được nhúng như một applet Java hoặc phim Flash. Có một ngoại  
lệ cho quy tắc này, khi thực thi nội dung (chẳng hạn như một điều khiển  
ActiveX) được bao gồm trong một trang. Trong trường hợp này, trang này là  
khả năng của tất cả mọi thứ có thể làm một chương trình mạng, nhưng hầu hết  
các trình duyệt và phần mềm chống virus sẽ cảnh báo chống lại hoặc phủ nhận  
nội dung thực thi như vậy. Vì vậy, kịch bản này thường được chấp nhận là  
không khả thi vì mất lòng tin công cộng.  
4. Địa chỉ IP  
Mục tiêu: Trình bày nguyên lý địa chỉ IP, nhân dạng các địa chỉ IP với  
các lớp khác nhau, Phân tích các IP cụ thể. Phân giải được tên miền tương ứng  
với IP và ngược lại.  
Mỗi máy tính kết nối trực tiếp với Internet phải có một địa chỉ duy nhất  
trên toàn cầu IP. Một địa chỉ IP là một số có bốn byte, mà thường được viết là  
bốn thập phân, số thời gian cách nhau, chẳng hạn như 192.168.0.1.  
Máy tính kết nối gián tiếp với Internet, chẳng hạn như thông qua mạng công ty  
của họ, cũng có địa chỉ IP, nhưng chúng không cần phải được trên toàn cầu duy  
nhất, chỉ có duy nhất trong cùng một mạng.  
Để tìm ra những địa chỉ IP của máy tính của bạn, mở một cửa sổ giao diện  
điều khiển hệ điều hành DOS và loại ipconfig (Windows NT, 2000, and XP)  
hoặc winipcfg (Windows 95, 98, ME)  
Trong hình, 1.1 máy tính. có hai địa chỉ IP: 192.618.0.1 và 81.98.59.133.  
Điều này là không bình thường bởi vì máy tính này đặc biệt có chứa hai card  
mạng và được kết nối với hai mạng khác nhau. Chỉ có một trong những địa chỉ  
IP truy cập công khai.  
Nếu bạn nhận được địa chỉ IP 127.0.0.1, máy tính của bạn không kết nối  
với bất kỳ mạng nào. Địa chỉ IP này luôn luôn đề cập đến các máy tính địa  
phương và được sử dụng trong các ví dụ sau. Trong cùng một cách mà bạn có  
thể nói cho dù một số điện thoại là địa phương hoặc quốc tế bằng cách nhìn vào  
tiền tố, bạn có thể cho biết liệu máy tính với địa chỉ IP trên mạng cùng một khu  
vực địa phương hoặc một nơi nào khác trên Internet bằng cách nhìn chặt chẽ tại  
 
một địa chỉ IP. Trong trường hợp các địa chỉ IP, họ luôn luôn cùng độ dài,  
nhưng tiền tố nhất định (192,168 phổ biến nhất) chỉ ra rằng máy tính trong một  
mạng lưới khu vực địa phương, hoặc mạng nội bộ, và không thể truy cập vào thế  
giới bên ngoài. Nếu bạn chia sẻ kết nối Internet của bạn với các máy tính khác  
trên mạng của bạn, bạn có thể có một địa chỉ IP riêng. Đây có thể được công  
nhận là trong phạm vi địa chỉ IP được liệt kê trong Bảng 1.1.  
Dãy các địa chỉ  
Số lượng các địa chỉ  
10.0.0.0 đến 10.255.255.255  
172.16.0.0 đến 172.31.255.255  
192.168.0.0 đến 192.168.255.255  
Tên 16 tỉ máy tính (lớp A)  
900.000 máy tính (lớp B)  
65.000 máy tính (lớp C)  
Bảng 1.1 : Bảng liệt kê địa chỉ máy tính  
Cùng một địa chỉ IP riêng có thể tồn tại trên hai máy tính trong các mạng  
khu vực khác nhau cục bộ (LAN). Điều này không gây ra một vấn đề bởi vì  
không phải máy tính có thể trực tiếp liên lạc với nhau. Trong khi đó, một máy  
tính giải quyết tư nhân có thể bắt đầu một yêu cầu thông tin từ một máy tính  
nước ngoài, không có máy tính nước ngoài có thể bắt đầu một yêu cầu thông tin  
từ một máy tính cá nhân giải quyết. Các trường hợp ngoại lệ cho quy tắc này sẽ  
là nơi network address translation (NAT) hoặc cổng chuyển tiếp được thiết lập  
trên router nằm ở thượng nguồn của máy tính tư nhân giải quyết. Đây là nơi mà  
các yêu cầu từ máy móc nước ngoài dành cho các địa chỉ IP của router được  
chuyển tiếp đến một com-puter định phía sau router. Câu trả lời từ máy tính này  
được chuyển tiếp từ phía sau router máy nước ngoài bắt đầu yêu cầu. Những lợi  
ích của kiến trúc an ninh và khả năng cân bằng tải, được mô tả chi tiết hơn trong  
chương sau. Tất cả các máy tính có địa chỉ IP riêng phải được kết nối với ít nhất  
một máy tính hoặc router mạng với một địa chỉ IP công cộng. truy cập Internet.  
Để đảm bảo rằng không có hai máy tính trên Internet có địa chỉ  
cùng một IP, có một cơ quan quản lý trung ương được gọi là Internet Assigned  
Numbers Authority (IANA), và gần đây Tổng công ty Internet cho tên miền và  
số (ICANN ). Cơ thể này hoạt động thông qua nhà cung cấp dịch vụ Internet để  
gán địa chỉ IP công cộng cho các tổ chức và cá nhân Mặc dù có thể được phân  
bổ một địa chỉ IP tại một thời điểm, nó là nhiều hơn phổ biến được phân bổ địa  
chỉ IP trong khối tiếp giáp. Tiếp giáp khối có ba lớp học: A, B, và C. Class A địa  
chỉ đều là các khối địa chỉ IP với byte đầu tiên chỉ. Class A là hơn 16 triệu địa  
chỉ IP trong kích thước. Địa chỉ lớp B là khối địa chỉ IP với byte đầu tiên và thứ  
hai. Lớp B giữ 65.024 địa chỉ IP công cộng. 216 phạm vi byte đầy đủ là không  
có bởi vì byte cuối cùng của một địa chỉ IP không thể là 0 hoặc 255 bởi vì chúng  
được dành riêng để sử dụng trong tương lai. Địa chỉ lớp C là những khối địa chỉ  
IP với byte đầu tiên, thứ hai, và thứ ba. Class C nắm giữ 254 địa chỉ công cộng,  
và địa chỉ lớp C được thường xuyên giao cho các công ty. Một máy tính có thể  
không phải lúc nào cũng có cùng một địa chỉ IP. Nó có thể có được địa chỉ của  
nó IP từ máy chủ ISP năng động điều khiển máy chủ của bạn (DHCP) giao thức.  
Điều này có nghĩa là địa chỉ IP của bạn có thể thay đổi mỗi khi bạn đi trực  
tuyến. Một địa chỉ IP như vậy được gọi là một địa chỉ IP động. Nếu bạn đang  
trên một mạng nội bộ, bạn có thể kiểm tra xem nếu địa chỉ IP của bạn là chịu  
trách nhiệm thay đổi bằng cách kiểm tra "có được địa chỉ IP tự động" nút radio  
trong thuộc tính TCP / IP, theo mạng trong bảng điều khiển.  
Mục đích của DHCP là nếu có một số lượng hạn chế của IP  
địa chỉ có sẵn cho các ISP, nó sẽ phân bổ các thuê bao của mình với IP  
địa chỉ từ một hồ bơi trên cơ sở ai đến trước được phục vụ trước. Địa chỉ IP là số  
32-bit, với một giá trị tối đa khoảng 4 tỷ đồng, và số lượng các máy tính trên thế  
giới đang nhanh chóng tiếp cận con số đó. IPv6 là một giải pháp cho vấn đề đó  
và được thảo luận trong chương sau.  
Có một định danh được xây dựng vào tất cả các card mạng mà là thực sự  
duy nhất và không thể thay đổi. Điều này được gọi là phần cứng, hoặc truy cập  
địa chỉ kiểm soát các phương tiện truyền thông (MAC). Một địa chỉ mẫu MAC  
là 00-02-E3-15-59-6C này được sử dụng trên mạng nội bộ để xác định các máy  
tính khi họ đăng nhập vào mạng. Một hệ thống được gọi là giao thức phân giải  
địa chỉ (ARP) được sử dụng để kết hợp địa chỉ MAC với địa chỉ IP.  
5. Network stack  
Mục tiêu: Giải thích mô hình mạng (OSI). Trình bày nguyên lý làm việc  
của mô hình mạng.  
Các tín hiệu kỹ thuật số mà đi dò đường giữa các máy tính trên Internet  
vô cùng phức tạp. Nếu không có các khái niệm về đóng gói, các lập trình  
sẽ nhanh chóng trở thành sa lầy với các chi tiết không đáng kể. Kỹ thuật này  
được sử dụng trong cuộc sống hàng ngày, nơi bạn có thể yêu cầu một tài xế taxi  
để đưa bạn đến trung tâm thành phố. Đó là trách nhiệm của lái xe taxi để tìm ra  
con đường nhanh nhất và để vận hành xe. Ở mức thấp hơn một lần nữa, nó là  
chiếc xe của nhà sản xuất chịu trách nhiệm đảm bảo rằng xăng sẽ có mặt trong  
các động cơ piston trong khi máy gia tốc là chán nản. Đóng gói là các chi tiết  
phức tạp của một nhiệm vụ ẩn,và lập trình viên chỉ cần tập trung vào những gì  
đang xảy ra ở một mức độ cao hơn. Các kết nối hệ thống mở (OSI) mô hình  
mạng ngăn xếp có bảy lớp đóng gói, như thể hiện trong Bảng 1.2.  
Trong lập trình hiện đại, tuy nhiên, mạng ngăn xếp trông giống như  
Bảng 1.3 lớp quan trọng nhất cho bất kỳ lập trình viên là lớp cao nhất  
vì điều này sẽ đủ khả năng dễ dàng sử dụng và sẽ phù hợp với hầu hết các ứng  
dụng. Khi bạn đi xuống ngăn xếp, thực hiện trở nên khó khăn hơn,  
mặc dù linh hoạt hơn.  
Lớp  
Level 7  
Level 6  
Level 5  
Level 4  
Level 3  
Level 2  
Level 1  
Tên lớp  
Application layer  
Presentation layer  
Session layer  
Transport layer  
Network layer  
Data-Link layer  
Physical layer  
Giao thức  
FTP  
XNS  
RPC  
TCP  
IP  
Ethernet Frames  
Voltages  
Bảng 1.2 : các lớp truyền thống  
 
Lớp  
Level 4  
Level 3  
Level 2  
Level 1  
Tên lớp  
Structured Information layer  
Messaging layer  
Stream layer  
Packet layer  
Giao thức  
SOAP  
HTTP  
TCP  
IP  
Bảng 1.3: Các lớp hiện đại  
Cuốn sách này bao gồm các lớp ứng dụng chủ yếu, nhưng đảm bảo được  
đưa ra cho tất cả các lớp khác nhau, không bao gồm lớp vật lý, mà sẽ chỉ áp  
dụng cho các kỹ sư điện tử.  
Trong lập trình mạng, bạn thường không cần phải quan tâm mình với cách  
thức thông tin truyền giữa hai máy tính, chỉ với những gì bạn muốn gửi. Chi tiết  
tốt hơn được đặt ở các cấp thấp hơn và được kiểm soát bởi hoạt động của máy  
tính hệ thống.  
6. Port  
Mục tiêu: Giải thích nguyên tắc làm việc thông qua cổng và Trình bày  
các số hiệu và công dụng của các cổng trong giao thức mạng.  
Nếu bạn muốn trình duyệt Web và nhận email cùng một lúc, máy tính của  
bạn cần phải quyết định bit lưu lượng truy cập mạng email và các trang web. Để  
biết sự khác biệt, tất cả các mảnh dữ liệu trên mạng được gắn thẻ với một cổng  
số: 80 cho các trang Web, 110 cho các email gửi đến. Thông tin này được chứa  
trong một trong hai giao thức điều khiển ransmission (TCP) hoặc User  
Datagram Protocol (UDP) tiêu đề đó ngay lập tức sau header IP. Bảng 1.4 liệt kê  
các giao thức phổ biến và liên kết số cổng.  
Số hiệu cổng  
Quá trình hệ thống  
7
21  
23  
25  
80  
110  
Dịch vụ Echo  
Dịch vụ FTP  
Dịch vụ Telnet  
Dịch vụ E-mail (SMTP)  
Dịch vụ Web (HTTP)  
Dịch vụ E-mail (POP)  
Bảng 1.4 liệt kê các giao thức phổ biến và liên kết số cổng  
Qui định :  
- Không bao giờ có hai ứng dụng lại dùng cùng 1 Port  
- Các Port từ 0 -> 1023 : Dùng cho các ứng dụng quan trọng trên hệ điều  
hành.  
- Các Port từ 1024 -> 49151 : Dành cho người lập trình.  
- Các Port từ 49152 -> 65535 :Dự trữ  
 
7. Internet standards  
Mục tiêu : trình bày các chuẩn Internet  
Chỉ có các tập đoàn lớn có thể trở thành thành viên của W3C. W3C là  
chịu trách nhiệm về ngôn ngữ đánh dấu siêu văn bản (HTML), cascading style  
sheets (CSS), ngôn ngữ đánh dấu mở rộng (XML). Khi phát triển một ứng dụng  
mạng, điều quan trọng là không để tái tạo lại bánh xe hoặc nếu không tạo ra một  
ứng dụng đó là không cần thiết không tương thích với các ứng dụng khác cùng  
thể loại. Cuốn sách này thường đề cập đến các tài liệu tiêu chuẩn, do đó, nó là  
đáng giá biết nơi để tìm thấy chúng. Một tấm gương sáng là năng động HTML,  
được thực hiện khác nhau trên Internet Explorer và Netscape Navigator. Điều  
này có nghĩa rằng hầu hết các trang web sử dụng HTML năng động sẽ không  
hoạt động đúng trên tất cả các trình duyệt. Vì vậy, các nhà phát triển Web tránh  
nó và di chuyển về phía công nghệ qua trình duyệt, chẳng hạn như Macromedia  
Flash và Java Applet. Lý do cho sự sụp đổ này là thiếu tiêu chuẩn hóa. Hai tổ  
chức chịu trách nhiệm chính để điều tiết Internet tiêu chuẩn: Internet  
Engineering Task Force (IETF) và World Wide Web Consortium (W3C). IETF  
là một tổ chức phi lợi nhuận, trong đó quy định các giao thức cơ bản nhất trên  
Internet. Bất cứ ai cũng có thể gửi một giao thức để họ và nó sẽ được công bố  
công khai như là một yêu cầu cho ý kiến (RFC) trên trang web của họ tại  
www.ietf.org / rfc.html. Bảng 1.5 liệt kê một số tài liệu quan trọng RFC. W3C  
(www.w3c.org) được thiết kế để tạo thuận lợi cho khả năng tương tác tiêu chuẩn  
trong số các nhà cung cấp. Chỉ có các tập đoàn lớn có thể trở thành thành viên  
của W3C. W3C là chịu trách nhiệm về ngôn ngữ đánh dấu siêu văn bản  
(HTML), cascading style sheets (CSS), ngôn ngữ đánh dấu mở rộng (XML).  
8 .NET framework  
Mục tiêu: Liệt kê các thành phần của .NET Framwork, Giải thích công dụng  
của mỗi thành phần, lập trình các bài tập nhỏ trên môi trường .NET Framwork thông  
qua lập trình biên dịch dùng CLR.  
.NET Framework là hạ tầng cơ bản được chuẩn hoá, độc lập ngôn ngữ lập trình,  
cho phép người lập trình xây dựng, tích hợp, biên dịch, triển khai, chạy các dịch vụ  
Web, XML, tiện ích hay thực thi chương trình đa cấu trúc (phát triển bằng các ngôn  
ngữ lập trình hỗ trợ .NET) trên hệ điều hành có cài đặt .NET Framework.  
8.1. Thành phần .NET Framework  
.NET Framework bao gồm 2 phần chính là Common Language Runtime (CLR)  
và .NET Framework Class Library (FCL).  
• CLR là thành phần chính của .NET Framework, quản lý mã (code) có thể thực  
thi của chương trình, quản lý các tiến trình, quản lý tiểu trình (Threading), quản  
lý bộ nhớ, cung cấp dịch vụ để biên dịch, tích hợp và tác vụ truy cập từ xa  
(Remoting).  
• FCL bao gồm tất cả các dịch vụ như giao tiếp người sử dụng, điều khiển, truy  
cập dữ liệu, XML, Threading, bảo mật.  
Tóm lại, CLR được xem như máy ảo .NET (.NET Virtual Machine), nó có thể  
kiểm soát, nạp và thực thi chương trình .NET.  
     
Trong khi đó, FCL cung cấp các lớp, giao tiếp và các kiểu giá trị, phương thức truy  
cập và chức năng chính của hệ thống như: Microsoft.Csharp, Microsoft.Jscript,  
Microsoft.VisualBasic, Microsoft.Vsa, Microsoft.Win32, System (cùng với các không  
gian tên con của không gian tên System).  
• Microsoft.Csharp : cung cấp các lớp hỗ trợ biên dịch và phát sinh mã khi sử  
dụng ngôn ngữ lập trình C#.  
• Microsoft.Jscript : cung cấp các lớp hỗ trợ biên dịch và phát sinh mã khi sử  
dụng ngôn ngữ lập trình J#.  
• Microsoft.VisualBasic : cung cấp các lớp hỗ trợ biên dịch và phát sinh mã khi  
sử dụng ngôn ngữ lập trình VisualBasic.  
• Microsoft.Vsa : cung cấp các gia tiếp cho phép tích hợp với các kịch bản của  
.NET Framework vào ứng dụng khi biên dịch hay thực thi.  
• Microsoft.Win32: cung cấp hai lớp giao tiếp trực tiếp với tài nguyên của hệ  
điều hành và System Registry.  
• System: bao gồm các lớp cơ sở dùng để định nghĩa giá trị, tham chiếu, biên cố,  
giao tiếp, thuộc tính và kiểm soát ngoại lệ. Ngoài ra, một số lớp khác cung cấp  
các dịch vụ chuyển đổi kiểu dữ liệu, tham số, tính toán, xử lý và truy cập từ xa.  
Trong đó, Code bao gồm hai loại :  
• Manage Code: bao gồm những chương trình được tạo ra từ các ngôn ngữ lập  
trình có hỗ trợ .NET, chẳng hạn, sử dụng ngôn ngữ lập trình C# để phát triển  
chương trình ứng dụng A, sau đó biên dịch chúng ra tập tin thi hành (.EXE), tập  
tin .EXE này đựoc gọi là Manage Code trong môi trường .NET.  
• Unmanage Code : là những chương trình được tạo ra từ các ngôn ngữ lập trình  
ngoài .NET. Ví dụ, sử dụng ngôn ngữ lập trình Visual Basic 6.0 để khai báo lớp  
(Class) có tên là B, rồi biên dịch chúng ra tập tin thư viên (.DLL), tập tin .DLL  
được gọi là Unmanage Code khi tham chiếu chúng trong môi trường .NET  
Như vậy, .NET Framework còn gọi là môi trường tương tác với hệ điều hành cho  
các ứng dụng và được minh hoạ như hình sau :  
Hình 1.1: Mô tả các thành phần trong .NET Framework  
8.2. Những đặc điểm chính của .NET Framework  
.NET Framework bao gồm các đặc điểm chính như : CRL, FCL, Cômmn Type  
System (kiểu dư liệu thông dụng, Metadata and Selff Descring Component phần chính  
Siêu dữ liệu và tự đặc tả thành phần). Cross-Language Interopenrability (trao đổi và sử  
dụng), Assemblies (đơn vị phân phối), Application Domains (miền ứng dụng) và  
Runtime Host (trung tâm thi hành)  
• CLR : CLR là môi trường thi hành, nơi cung cấp dịch vụ để thực thi,  
quản lý bộ nhớ, tiểu trình cho các ứng dụng hỗ trợ bởi .NET  
o Quản lý quá trình thực thi: để quản lý quá trình thực thi của trình,  
CLR thực hiện qua các bước sau: chọn chương trình biên dịch  
tương ứng với ngôn ngữ lập trình, biên dịch ứng dụng sang tập tin  
MSIL (trình bày chi tiết trong phần biên dịch và thực thi ứng dụng),  
biên dịch từ mã định dạng MSIL sang mã máy bằng trình JIT (  
Just-In-Time) rối sau đó CLR cung cấp cơ sở hạ tầng để thi hành  
chương trình.  
o Quản lý bộ nhớ: tự quản lý bộ nhớ là một trong những dịch vụ mà  
CLR cung cấp trong quá trình thực thi chương trình. Trình thu gom  
( Garbage Collector) quản lý bộ nhớ đã cấp cho một tiến trình rồi  
sau đó tự động thu lại khi chương trình kết thúc ( chúng ta sẽ tìm  
hiểu chi tiết về Garbage Collector trong cuốn sách “ lập trình hướng  
đối tượng” sắp phát hành).  
• FCL: Bao gồm các thư viện lớp cơ sở cho phép bạn sử dụng để thực hiện  
mọi tác vụ liên quan đến giao diện, Internet, cơ sở dữ liệu, hệ điều  
hành,…  
• Common Type System (CTS): CTS đưa ra các quy tắc cho phép bạn  
khai báo, sử dụng và quản lý kiểu dữ liệu trong quá trình thi hành.  
Ngoài ra, CTS còn cung cấp các tiêu chuẩn cho phép phát hành  
 
tương tác giữa các ngôn ngữ lập trình với nhau. Tóm lại, CTS thực  
hiện các chức năng chính sau:  
o Thiết lập khung cho phép tương tác giữa các ngôn ngữ, mã an  
toàn(safe code), tối ưu hóa xử lý.  
o Cung cấp mô hình hướng đối tượng nhằm hỗ trợ quá trình cài đặt  
đa ngôn ngữ trong ứng dụng.  
o Định nghĩa các quy tắc mà ngôn ngữ lập trình phải tuân theo và hỗ  
trợ tính chuyển đổi và bảo đảm đối tượng được tạo ra từ ngôn  
ngữ này có thể tương tác với ngôn ngữ khác.  
• Metadata and Self-Descrinbing Components (MSDC): trong những  
phiên bản trước đây, ứng dụng được tạo ra bởi một ngôn ngữ lập trình  
nào đó được biên dịch ra tập tin .EXE hay .DLL và khó khăn khi sử dụng  
chúng với một ứng dụng được viết trong một ngôn ngữ lập trình khác. Ví  
dụ COM là một điển hình. Tuy nhiên, .NET framework cung cấp giải  
pháp chuyển đổi cho phép khai báo thông tin cho mọi module và  
Assembly ( có thể là .EXE hay .DLL). Những thông tin này được gọi là  
siêu dữ liệu và sự mô tả.  
• Cross Language Interoperability (CLI): CLR là hỗ trợ tiến trình trao  
đổi và sử dụng giữa các ngôn ngữ với nhau.Tuy nhiên, hỗ trợ này không  
bảo đảm mã do bạn viết có thể dùng được bởi lập trình viên sử dụng ngôn  
ngữ lập trình khác.  
• Assemblies: là tập hợp các kiểu dữ liệu và tài nguyên được đóng gói dạng  
từng đơn vị chức năng. Ngoài ra, assemblies chính là các đơn vị chủ yếu  
dùng để triển khai, điều khiển phiên bản, thành phần sử dụng lại, chẳng  
hạn như các tập tin .EXE hay .DLL.  
• Applicatin Domains: miền ứng dụng cho CLR quản lý nhằm cách ly  
nhiều ứng dụng đang thi hành trên cùng một máy tính cụ thể:  
o Mỗi ứng dụng sẽ được nạp vào tiến trình(Process) tách biệt mà  
không ảnh hưởng đến ứng dụng khác. Với kỹ thuật kiểu mã an  
toàn Application Domains bảo đảm đoạn mã đang chạy trong miền  
ứng dụng độc lập với tiến trình của ứng dụng khác trên cùng một  
máy.  
o Khi tạm dừng từng thành phần thì sẽ không dừng toàn bộ tiến trình.  
Đối với trường hợp này Application Domains cho phép bạn loại bỏ  
đoạn mã đang chạy trong ứng dụng đơn.  
o Application Domains cho phép bạn cấu hình, định vị, cấp quyền  
hay hạn chế quyền sử dụng tài nguyên đang thi hành.  
o Ngoài ra, sự cách ly này cho phép CLR ngăn cấm truy cậptruwcj  
tiếp giữa các đối tượng của những ứng dụng khác nhau.  
• Runtime Hosts: là trung tâm thi hành cho phép nạp ứng dụng vào tiến  
trình, CLR hỗ trợ cho phép nhiều loại ứng dụng khác nhau cùng chạy  
trong một tiến trình.  
o Mỗi loại ứng dụng thì cần đoạn mã để khởi động được gọi là  
Runtime hosts.  
o Runtime Hosts nạp kênh thi hành vào tiến trình và tạo ra  
Application Domains ròi thi hành ứng dụng vào trong miền ứng  
dụng đó.  
9. Visual Studio .NET  
Mục tiêu: Trình bày công dụng, phân loại và kể tên các ứng dụng lập trình của  
bộ ngôn ngữ Visual Studio .NET. Vận dụng tốt môi trường ngôn ngữ lập trình C#  
(IDE) để thực hiện các bài tập theo yêu cầu.  
Microsoft Visual Studio là tập công cụ hoàn chỉnh dùng để xây dựng ứng dụng  
Web (ASP.NET Web Applications), dịch vụ XML, ứng dụng để bàn (Desktop  
application), ứng dụng màn hình với bàn phím (Console Applications) và ứng dụng  
trên điện thoại di động (Mobile Applications).  
Các ngôn ngữ lập trình dùng Microsoft Visual studio để phát triển ứng dụng là  
Visual basic, Visual C++, Visual C# và Visual J#. Cả 4 ngôn ngữ lập trình chính trên  
đều sử dụng chung một IDE (Integrated Development Environment), nơi cho phép  
chúng ta chia sẻ các tiện ích và công cụ nhằm tạo nên giải pháp tích hợp.  
Nếu đã làm việc với phiên bản Visual Studio 6.0, mỗi ngôn ngữ lập trình (C++,  
Visual Basic, J++, Fox Pro) sẽ có riêng một IDE tương ứng. Ngoài ra, để phát triển  
ứng dụng ASP, ta phải sử dụng Visual Studio InterDev.  
9.1. Phiên bản Visual Studio .NET 2008  
Visual Studio .NET 2008 có 5 phiên bản chính thức là: Express Products  
(Visual Studio Express Edition), Visual Studio Standard Edition, Visual Studio  
Professional Edition, Visual Studio Tools for Office và Visual Studio Team System.  
9.1.1 Visual Studio Express Edition  
Đây là phiên bản đơn giản, dễ học, dễ sử dụng dùng cho những người tự học,  
chưa có kinh nghiệm lập trình hoặc các bạn sinh viên bước đầu làm quen với Visual  
Studio .NET 2008.  
Nếu sử dụng phiên bản này, bạn cần bộ nhớ khoảng 35MB đến &70MB, miễn  
phí 1 năm. Hơn thế nữa, sẽ có phiên bản Microsoft SQL Server Express miễn phí hoàn  
toàn, cung cấp các chức năng chính dùng để làm việc với cơ sở dữ liệu Microsoft SQL  
Server Express 2008 từ cửa sổ Visual Studio .NET 2008.  
Tương tự như vậy Visual Studio Express Edition cung cấp 4 phiên bản Visual  
Basic 2008 Express Edition, Visual C# 2008 Express Edition, Visual C++ 2008  
Express Edition và Visual J# 2008 Express Edition ứng với 4 ngôn ngữ chính là:  
Visual Basic, C#, C++ và J#.  
   
Trong trường hợp phát triển ứng dụng Web, có thể sử dụng Visual Web  
Developer 2008 Express để nhanh chóng tạo ra các trang ASP .NET bằng các công cụ  
trực quan.  
9.1.2 Visual Studio Standard Edition  
Trong khi phiên bản Visual Studio Express có tính năng đơn giản, dễ sử dụng  
và miễn phí 1 năm thì phiên bản Visual Studio Standard Edition được thiết kế toàn  
diện hơn với chi phí vừa phải.  
Được sử dụng cho các lập trình viên chuyên nghiệp làm việc đơn lẽ với các ứng  
dụng chạy nhanh, tối ưu, ứng dụng đa tầng trên nền Windows, các ứng dụng Web hay  
ứng dụng chạy trên thiết bị cầm tay.  
Với những đặc điểm như vậy, phiên bản này là công cụ hỗ trợ cả bốn ngôn ngữ  
lập trình, thường dùng cho các nhà lập trình viên làm việc ngoài giờ hay công việc  
không thường xuyên.  
Tương tự như các phiên bản khác của bộ Visual Studio .NET 2008, Visual  
Studio Standard Edition cung cấp giao diện trực quan cho phép bạn thiết lập giao diện  
cho các loại ứng dụng bằng việc kéo và thả (drag and drop), xây dựng và triển khai  
ứng dụng theo mô hình khách-chủ (client-server), các công cụ để thiết kế cơ sở dữ  
liệu.  
9.1.3 Visual Studio Professional Edition  
Nếu như Visual Studio Standard Edition dùng cho cá nhân phát triển ứng dụng  
thì Visual Studio Professional Edition bao gồm các công cụ giao diện trực quan cho  
phép bạn thiết lập giao diện cho các loại ứng dụng bằng việc kéo và thả (drag and  
drop).  
Visual Studio Professional Edition có thể sử dụng cho cá nhân hay nhóm lập  
trình nhỏ khi xây dựng và triển khai ứng dụng theo mô hình khách chủ (client-server),  
thiết kế cơ sở dữ liệu, ứng dụng đa tầng trên nền Windows, ứng dụng Web hay ứng  
dụng chạy trên thiết bị cầm tay.  
9.1.4 Visual Studio Team System  
Đây là công cụ theo hướng mở rộng và tích hợp, dùng cho các công ty phát  
triển phần mềm hay những nhóm lập trình viên làm việc xuyên quốc gia.  
Sử dụng phiên bản Visual Studio Team System cho phép nhóm lập trình có thể  
giảm độ phức tạp, tăng tính giao tiếp và hợp tác trong quá trình phát triển phần mềm.  
Visual Studio Team System còn là bộ khung (Microsoft Solutions Framework)  
gọi là MSF. MSF cung cấp một tập được tối ưu hóa và tính uyển chuyển cùng các quy  
tắc đã được tích hợp áp dụng cho từng giai đoạn khi phát triển và triển khai một phần  
mềm.  
Tùy vào từng công đoạn của quá trình xây dựng và triển khai phần mềm, có thể  
sử dụng 5 bộ công cụ thuộc Visual Studio Team System như sau: Visual Studio 2008  
Team Suite,Visual Studio 2008 Team Edition for Software Architects, Visual Studio  
2008 Team Edition for Software Developers, Visual Studio 2008 Team Edition for  
Software Testers, Visual Studio 2008 Team Foundation Server và Visual Studio 2008  
Team Test Load Agent.  
• Bộ Visual Studio 2008 Team Suite  
Visual Studio 2008 Team Suite là bộ công cụ tích hợp, hiệu suất cao cho phép  
nhóm lập trình viên giao tiếp và kết hợp tốt trong quá trình phát triển phần mềm. Với  
tổ chức của Visual Studio 2008 Team Suite,bạn có thể dự đoán trước được chất lượng  
và tổ chức trong quá trình phát triển ứng dụng.  
• Bộ Visual Studio 2008 Team Edition for Software Architects:  
Team Edition for Software Architects cung cấp các công cụ trực quan dùng để  
xây dựng một giải pháp dùng cho việc thiết kế ứng dụng hay triển khai chúng nhanh  
và hiệu quả hơn.  
• Bộ Visual Studio 2008 Team Edition for Software Developers:  
Team Edition for Software Developers cung cấp bộ công cụ phát triển ứng dụng  
cho phép nhóm lập trình tương tác, phối hợp và cùng chia sẻ trong chu trình phát triển  
ứng dụng.  
• Bộ Visual Studio 2008 Team Edition for Software Testers:  
Team Edition for Software Testers giới thiệu tập các công cụ dùng để kiểm tra,  
đánh giá sản phẩm phần mềm được tích hợp với môi trường Visual Studio. Bộ công cụ  
này cho phép những người kiểm tra chất lượng sản phẩm phần mềm thông báo đến tác  
giả hay nhà quản lý những công việc liên quan.  
• Bộ Visual Studio 2008 Team Foundation Server:  
Team Foundation Server là những gì mạnh nhất của quá trình hợp tác trong  
Visual Studio Team System .Khi kết hợp với Visual Studio Team System, Team  
Foundation Server cho phép bạn quản lý và theo dõi quá trình thực hiện của dự án.  
• Bộ Visual Studio 2008 Team Test Load Agent:  
Team Test Load Agent tạo ra tiến trình kiểm tra bổ sung được sử dụng với  
Visual Studio 2008 Team Edition for Software Testers, cho phép bạn tổ chức và mô  
phỏng một hay nhiều người sử dụng để kiểm tra chất lượng sử dụng của ứng dụng.  
9.2 Làm việc với Visual Studio .NET 2008  
Từ khi Visual studio .NET ra đời, nó là một IDE dùng chung duy nhất cho mọi  
ngôn ngữ lập trình và các loại ứng dụng được được tích hợp. Như vậy, ứng dụng Web  
Forms (ASP.NET) được xem như một phần của ngôn ngữ lập trình, bạn có thể sử dụng  
chung IDE với ứng dụng Windows Forms.  
Chẳng hạn, bạn có thể mở dự án (Project) bằng ngôn ngữ lập trình Visual  
Basic.NET, rồi mở tiếp một Project bằng ngôn ngữ lập trình C# trong cùng một  
Solution.  
Ngoài ra, Visual Studio.NET 2008 có sự thay đổi lớn so với Visual Studio.NET  
2003 là môi trường lập trình, định dạng mã, cơ chế gỡ lỗi, xây dựng, kiểm tra và triển  
khai ứng dụng, tự động hóa và trợ giúp người sử dụng. Ví dụ, trang bắt đầu của Visual  
Studio.NET 2008 IDE như hình 1-2  
 
Hình 1.2 : Trang bắt đầu của Visual Studio.NET 2008  
Sau khi cài đặt thành công Visual Studio.NET 2008, lần đầu tiên sử dụng  
Visual Studio.NET 2008 IDE, một cửa sổ xuất hiện yêu cầu chọn ngôn ngữ lập trình  
mặc định. Chẳng hạn, trong trường hợp này chúng ta chọn ngôn ngữ lập trình C# bằng  
cách di chuyển đến Visual C# Development Setting và nhấn mạnh Start Visual Studio.  
Lưu ý, chúng ta sẽ tìm hiểu chi tiết về những công cụ, cửa sổ, cách cấu hình  
IDE để làm việc với ngôn ngữ lập trình C# trong những bài kế tiếp.  
Sau khi chọn ngôn ngữ lập trình C# là ngôn ngữ mặc định, mỗi khi tạo mới  
Project hay Solution, ngôn ngữ này nằm đầu tiên trong ngăn Project types như hình 1-  
3, 3 ngôn ngữ lập trình còn lại là Visual basic, C++ và J# sẽ xuất hiện bên dưới phần  
Other Language.  
Hình 1.3 : Màn hình yêu cầu chọn ngôn ngữ để cài đặt  
Ngăn bên phải là danh sách các loại ứng dụng Windows ,bao gồm các loại như:  
Windows Application, Console Application, Class Library, Windows Service, Crystal  
Reports Application,…  
Trong trường hợp muốn xây dựng ứng dụng ASP.NET, bạn có thể chọn vào  
trong phần tạo mới, khi đó cửa sổ sẽ xuất hiện như hình 1-5  
Tương tụ như trường hợp ứng dụng vWindows, ứng dụng vWebsite bao gồm  
các loại như: ASP.NET vWebsite, ASP.NET vWeb Service, Srystal Reports vWebsite.  
Trên thực đơn (menu) của Visual studio .NET 2008, menu có tên là Community  
bao gồm các menu con như: Ask a question, Check Question Status, Send Feedback  
nhằm hỗ trợ cho bạn tìm kiếm, gởi và kiểm tra câu hỏi hay góp ý kiến về công ty  
Microsoft.  
Ngoài ra, trên menu này còn có các menu con khác, chúng cho phép bạn trỏ đến  
địa chỉ internet chứa tài nguyên hay những thông tin cập nhật về Visual studio .NET  
2008 nhằm hỗ trợ tối đa cho cộng đồng lập trình .NET.  
Chẳng hạn, bạn chọn vào menu có tên Developer center, cửa sổ trình duyệt xuất  
hiện.  
9.3. Các loại ứng dụng dùng C#  
Microsoft Visual C# 2008 (C sharp) là ngôn ngữ lập trình thiết kế dùng để phát  
triển ứng dụng chạy trên .NET Framework. C# còn là ngôn ngữ lập trình đơn giản,  
mạnh, kiểu an toàn (type-safe) và hướng đối tượng (object-oriented).  
Với nhiều đặc điểm mới,C# cho phép bạn xây dựng ứng dụng nhanh chóng  
nhưng vẫn giữ lại được sự diễn cảm và tao nhã của ngôn ngữ lập trình truyền thống C.  
Mặc dù mọi ngôn ngữ lập trình trong bộ .NET đều sử dụng chung .NET  
Framework, nhưng mỗi ngôn ngữ vẫn có tính đặc thù riêng của nó. Sử dụng C# là một  
lựa chọn tối ưu khi bạn xây dựng loại ứng dụng như: quản lý, thương mại điện tử, ứng  
dụng tích hợp hệ thống,thư viện,ứng dụng dùng cho máy PDA hay điện thoại di  
động,…  
9.3.1. Ứng dụng Windows Form  
Khi xây dựng ứng dụng với giao diện người dùng chạy trên máy để bàn có cài  
đặt .NET Framework, bạn chọn vWindows trong phần Project Types rồi tiếp tục chọn  
vào vWindows Application trong phần Templates  
9.3.2. Ứng dụng màn hình và bàn phím  
Nếu ứng dụng với giao diện người dùng là bàn phím và màn hình chạy trên  
máy để bàn, bạn có thể chọn loại ứng dụng là Console Application trong phần  
Templates .Với ứng dụng loại này, người sử dụng thao tác bằng màn hình Console.  
Tuy nhiên, bằng cách sử dụng các không gian tên của ứng dụng vWindows  
Forms, bạn cũng có thể tạo ra ứng dụng giao diện đồ họa bằng ứng dụng Console  
Application.  
9.3.3. Dịch vụ hệ điều hành  
Trong trường hợp ứng dụng chạy thường trú trong bộ nhớ,bạn có thể chọn loại  
ứng dụng là vWindows Service trong phần Templates.  
Khi chọn ứng dụng này, bạn tạo ra tập tin .EXE và cài đặt chúng vàodịch vụ  
của hệ điều hành (Service), bạn có thể Start, Stop hay Pause và Continue như những  
dịch vụ của hệ điều hành đang tồn tại.Chú ý, ứng dụng dịch vụ hệ điều hành thì không  
cần giao diện, thay vào đó bạn sử dụng tiện ích Service của hệ điều hành.  
9.3.4. Thư viện  
Khi cần xây dựng thư viện dùng chung hay COM+(triển khai tầng Business  
Logic), bạn chọn vào Class Library, sau khi kết thúc khai báo,nếu biên dịch thành  
công thì ứng dụng này sẽ tạo ra tập tin .DLL.  
Ví dụ, bạn muốn xây dựng thư viện bao gồm các lớp làm việc với cơ sở dữ liệu  
SQL Server, sau đó bạn sử dụng thư viện như những Project khác nhau, ứng với mục  
đích này bạn tạo mới Project loại Class Library.  
9.3.5. Điều khiển do người sử dụng định nghĩa  
Ngoài các điều khiển (Control)từ các lớp của .NET cung cấp, người sử dụng có  
thể kết hợp những điều khiển này thành một điều khiển tùy ý (CustomControl) phục  
vụ cho một yêu cầu cụ thể nào đó.  
Đối với ứng dụng vWindows Forms, bạn có thể sử dụng loại Project là  
vWindows Control Library. Trong trường hợp làm việc với ứng dụng ASP.NET loại  
Project bạn dùng là vWeb Control Library.  
 
Tải về để xem bản đầy đủ
doc 119 trang baolam 31680 Free
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Lập trình mạng - Hồ Viết Hà", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docgiao_trinh_lap_trinh_mang_ho_viet_ha.doc