Chuyên đề Nghiên cứu ngôn ngữ lập trình ASP.NET

Mục lục

Nội dung Trang

I. Giới thiệu sơ qua về .NET

I.1.Nguồn gốc của .NET

I.2.Định nghĩa .NET

I.3.Mục tiêu của .NET

I.4 .Các dịch vụ của.NET

I.5.Tác động của .NET đến người làm CNTT

I.6.Tác động của .NET đến người dùng

I.7. Cơ sở hạ tầng của .NET

II.Nghiên cứu về ASP.NET

II.1.Giới thiệu chung về ASP.NET

II.2.Ứng dụng của ASP.NET

A.Khái quát.

B.Tập tin Global.asax.

C.Làm việc với thực thể HttpApplication

D. Lập trình lại (Overriding) phương thức Init và Dispose.

E. Sử dụng các Module trong tập tin Global.asax.

II.3.Cấu hình ASP.NET

A .Khái quát

B. Định dạng của tập tin cấu hình trong ASP.NET.

II.4.Truy cập dữ liệu

A .ADO.NET

B.Cấu trúc của ADO.NET:

C.Dataset.

D.NET Data Provider :

E.Đối tượng Connection

F.DataAdapter

G.Đối tượng Command

III.Triển khai một ứng dụng:

III.1.Mục đích nghiên cứu:

III.2.Báo cáo chi tiết:

IV.Triển khai ứng các ứng dụng ứng WEB Projects

IV.1.Làm việc với WEB Projects:

IV.2.Biên dịch và triển khai ứng dụng WEB Projects

IV.3.Triển khai một ứng dụng ASP.NET 3

3

3

4

5

7

8

9

10

10

16

16

16

17

17

19

20

20

22

23

23

26

27

29

30

31

32

35

35

35

37

37

38

38

 

 

docx40 trang | Chia sẻ: netpro | Lượt xem: 2793 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Chuyên đề Nghiên cứu ngôn ngữ lập trình ASP.NET, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
với lập trình viên ASP và sẳn sàng tương thích với tất cả các giao diện lập trình .NET Framework khác (other .NET Framework APIs). Đối với những lập trình viên cao cấp, người muốn sử dụng những giao diện lập trình mạnh như giao diện ISAPI (có trong ASP), ASP.NET giới thiệu hai giao diện: IhttpHandler và IhttpModule. Cài đặt giao diện IHttpHandler cho phép chương trình tương tác với các yêu cầu mức thấp (low-level request) và những dịch vụ hồi báo (response services) của IIS Web Services và cung cấp một vài chức năng giống với phần mở rộng ISAPI, nhưng với một mô hình lập trình rất đơn giản. Cài đặt giao diện IhttpModule cho phép lập trình viên đưa vào những customize event riêng trong mỗi yêu cầu (request) sinh ra trong ứng dụng. ASP.NET có được những chất lượng thực thi được tìm thấy trong .NET Framework và thực thi ngôn ngữ chung (common language runtime). Ngoài ra ASP.NET đã được thiết kế cho mục đích nâng cao khả năng thực thi vượt qua ASP và tất cả các nền ứng dụng Web khác (Lời của MS). Tất cả mã của ASP.NET đều được biên dịch, việc này cho phép kết hợp dễ (early binding), kiễu mạnh (strong type), trình biên dịch tức thời (JIT) tương thích native code. Ngoài ra ASP.NET còn cung cấp catch mở rộng cho lập trình viên có thể tối ưu hóa ứng dụng trong một vài trường hợp. Tạo được các câu lệnh debug (custom debug statements) cho trang web, nó rất hữu ích trong khi giãi quyết sự cố (troubleshooting).Nền .NET Framework và ASP.NET cung cấp sơ đồ (schemes) chứng nhận(authentication) và cấp phép (authorization) cho ứng dụng Web, có thể dễ dàng xóa, thêm, hiệu chỉnh sơ đồ. Cấu hình ứng dụng ASP.NET được lưu trữ trong các tập tin XML chuẩn, hiệu chỉnh dễ dàng , và có thể mở rộng để phù hợp cho nhu cầu của từng ứng dụng Web. ASP.NET là phiên bản mới của ASP,ngoài những ưu điểm của ASP, ASP.NET có những đặc điểm khác và mạnh hơn so với ASP: Pages: sử dụng các thành phần điều khiển có khả năng hoạt động và tương tác với nhau ngay trên trình chủ Server. Đặc điểm này giảm thiểu thời gian viết code tương tác giữa các trang. Lập trình trong môi trường ASP.NET tương tự như lập trình trong Form, do đó các ứng dụng của ASP.NET còn được gọi là Web Form. HTML Server Side Controls: các thành phần điều khiển HTML có khả năng xử lý ngay trên trình chủ(Server) dựa trên thuộc tính và phương thức tương tự như cách thức hoạt động của trình khách(client). Những thành phần điều khiển này còn cho phép ta kết hợp mã xử lý của pages ASP.NET với một sự kiện nào đó phát sinh phía client được xem như đang diễn ra trên trình server(mô hình chuyển giao- deligate). Rich controls: tập các điều khiển đa năng.Các Rich Controls chạy trên server và có thể tạo ra các phần tử cũng như các đối tượng HTML phức hợp trên client (Grid, calendar,table, view,…). Rich controls còn cho phép bạn ràng buộc dữ liệu và xử lý dữ liệu tương tự như bạn đang viết một ứng dụng desktop thật sự. Xoá đi biên giới mô hình Client/server. Web Service: các dịch vụ Web. Trang ASP.NET có thể không cần hiển thị kết xuất cho client. Chúng hoạt động như những chương trình xử lý yêu cầu ở hậu cảnh. VD trang ASP.NET nào đó có thể là đối tượng cung cấp phương thức trả về giá trị nào đó khi nhận được yêu cầu từ client. Cấu hình & phân phối: đơn giản và dễ dàng với các file cấu hình theo định dạng văn bản của XML.Không cần phải đăng ký hệ thống khi sử dụng nữa(Quên đi regsrv32.exe!). Chúng ta chỉ cần copy các trang ASP.NET hay các đối tượng lên máy chủ, chỉ ra vị trí của chúng và thế là chương trình cũng như dịch vụ của chúng ta đã sẵn sàng!. Tự động quản lý trạng thái của đối tượng Session hay Aplication. Chúng ta có thể lưu nội dung của Session hay Aplication của một ứng dụng đặc thù nào đó xuống một file trên đĩa sau đó dùng lại. Debug, Tracing: Các công cụ debug được nâng cấp đáng kể. Mỗi trang tài liệu có thể sử dụng một trang xử lý lỗi riêng biệt và kết xuất nội dung của biến để theo dõi ngay trong quá trình thực thi trang. Các trình Debug được tích hợp sẵn trong môi trường đa ngôn ngữ VB.NET,C++,C#. Security management: Chúng ta có thể tận dụng các dịch vụ đăng nhập(login) tuỳ biến cho trang tài liệu ASP.NET theo phong cách của Web hoặc cơ chế đăng nhập và dựa trên hệ thống bảo mật của HĐH. Tùy biến vùng đệm trên Server (Customer Server Caching): vùng đệm của kiến trúc ASP.NET được quản lý rất linh động. Chúng ta có thể tạo ra các vùng đệm riêng biệt chứa một kiểu giá trị và đối tượng trong quá trình hoạt động của trang nhằm tăng tốc cho ứng dụng. Một tập các đối tượng phong phú: ASP.NET hỗ trợ một tập phong phú các thư viện và các đối tượng phục vụ hầu hết những gì mà những nhà ứng dụng cần đến. Bằng những thư viện này công việc viết ứng dụng cho Web trở nên dễ dàng hơn.VD: bạn có thể sử dụng các thành phần đối tượng “Send mail ” để gửi nhận thư, Đối tượng mã hoá để giải mã thông tin, Web Counter(đếm số người truy cập),ADO.NET,… Các đối tượng nội tại khác như Request, Response, Form, Cookies, ServerVaribles, đều được giữ lại và hoàn toàn tương thích với ASP. Tuy nhiên, ASP.NET đã cung cấp thêm cho những đối tượng này rất nhiều những thuộc tính và phương thức mới giúp nâng cao khả năng xử lý các ứng dụng. Một ứng dụng được triển khai bằng ASP.NET sẽ thừa hưởng được các thế mạnh của ASP.NET như: tốc độ nhanh, linh động, an toàn và có tính thực thi cao. Điều này dựa trên các ưu điểm nổi bật sau của ASP.NET(đứng ở góc độ lập trình.): Thành phần điều khiển đóng gói các chức năng thường xuyên sử dụng rất tiện lợi như: quản lý trạng thái (State), kiểm tra dữ liệu nhập(validate), … những công việc này trứơc đây thường phải viết rất thủ công. Mã nguồn dễ dùng, dễ đọc: Mọi công việc thao tác hay xử lý không cần thiết trước đây(như kiểm tra tính hợp lệ của dữ liệu, bảo vệ trạng thái của session,…) đều được chuyển giao cho kiến trúc và bộ khung ASP.NET xử lý. Trang ASP.NET viết mã ít hơn, ngắn gọn hơn đồng thời cũng thực thi nhanh hơn trang ASP do trang ASP.NET đã được biên dịch và được đưa vào vùng đệm bộ nhớ trong suốt quá trình thực thi. Với trang ASP.NET chúng ta có thể tạo trang tài liệu HTML kết xuất phía đầu cuối đẹp mắt bằng một tập phong phú các thành phần điều khiển giao diện thân thuộc trong Windows đã được xây dựng lại. Trong ASP.NET không còn phụ thuộc vào ngôn ngữ phi định kiểu như VBScript nữa, mà nó cho phép sử dụng ngôn ngữ trung lập.Trang ASP.NET có thể viết bằng rất nhiều ngôn ngữ lập trình hiện đại: C++, C#, VB.NET, Perl,… Ngoài ra, còn có những ưu điểm khác so với ASP thường: Ở trang ASP mã lệnh và giao diện trộn lẫn với nhau. Khi phát triển những ứng dụng Web lớn, thường các dự án cần được tách ra làm 2 phần. Một nhóm thiết kế giao diện(Web Designer) và một nhóm viết lệnh lập trình(coder). Kết quả cuối cùng thường là một sự trộn lẫn giữa phần thiết kế giao diện và mã lệnh ASP để tạo thành một file chương trình duy nhất. Các trang ASP của ứng dụng đó rất khó bảo trì khi bạn muốn thêm vào các mã lập trình mới hay thay đổi giao diện. ASP.NET cho phép tách rời giữa mã lập trình và nội dung tài liệu. Ngày nay, các thiết bị cầm tay: ĐTDĐ, máy Palm,… thay đổi rất nhanh, đòi hỏi nhu cầu sử dụng Internet ngày càng cao. Vấn đề là các trang tài liệu thiết kế cho những thiết bị này yêu cầu phải nhỏ gọn và không thể sử dụng cách định dạng cho tài liệu như trên những trình duyệt hiện đại. Một trong những cách giải quyết vấn đề trên đó là ta sẽ xây dựng 2 site khác nhau để hướng đến 2 ứng dụng khác nhau hoặc là trong cùng một site chúng ta code nhận dạng từng loại thiết bị rồi viết mã từng site cho phù hợp(Select case …) Cách này lập trình rất khó, chi phí cao và hiện đang được sử dụng nhiều nhất. Tuy nhiên, với ASP.NET chúng ta không cần viết mã lệnh, các thành phần điều khiển hoạt động trên Server có khả năng nhận dạng và phát sinh mã tuỳ theo yêu cầu sử dụng cuối cùng của Client….. II.2.Ứng dụng của ASP.NET A.Khái quát. Một ứng dụng ASP.NET được định nghĩa là tất cả những tập tin, những điều khiển (handler), những module và mã thực thi (executable code) có thể được gọi từ một cây thư mục ảo (virtual directory) trên ứng dụng Web Server. Có thể sử dụng mọi mô hình lập trình ASP.NET (ASP.NET programming models) trong ứng dụng. Tất cả chúng phải cùng tồn tại trong một cấu trúc thư mục ảo riêng lẻ. B.Tập tin Global.asax. Tập tin Global.asax, còn được hiểu như tập tin ứng dụng ASP.NET, là một tập tin tùy chọn chứa mã để đáp ứng (responding) những sự kiện mức ứng dụng (application-level events) được phát ra bởi ASP.NET hoặc những module HTTP. Tập tin Global.asax được đặt tại thư mục gốc (root directory) của một ứng dụng ASP.NET. Khi ứng dụng chạy (run), tập tin Global.asax được phân tích và biên dịch thành một lớp class .NET Framework dẫn xuất từ lớp HttpApplication. Bản thân tập tin Global.asax được cấu hình để từ chối bất kỳ yêu cầu URL trực tiếp nào; người sử dụng bên ngoài (external users) không thể download hoặc xem mã được viết bên trong nó. Tập tin Global.asax của ASP.NET có thể cùng tồn tại với tập tin Global.asa của ASP. Có thể tạo tập tin Global.asax bằng trình thiết kế WYSIWYG, bằng Notepad, hoặc như là một lớp được biên dịch thành assambly đặt trong thư mục \bin là thư mục con của thư mục ứng dụng. Tập tin Global.asax là một tùy chọn, nếu không định nghĩa tập tin Global.asax thì framework (ASP.NET page framework) sẽ xem như (assumes) không có bất kỳ một event application handler và event session handler nào được định nghĩa. Nếu nội dung tập tin Global.asax bị thay đổi trong lúc ứng dụng ASP.NET đang hoạt động thì ASP.NET Page Framework sẽ tự động dò tìm sự thay đổi này. Nó sẽ thực hiện xong tất cả những yêu cầu hiện tại, gởi sự kiện Application_OnEnd đến tất cả những bộ lắng nghe (listeners), và khởi động lại miền ứng dụng (application domain). Trong thực tế, ứng dụng này được khởi động lại, đóng tất cả những browse sesstion, xóa (flushing) tất cả những thông tin trạng thái. Khi có yêu cầu kế tiếp đến từ browse, ASP.NET page framework sẽ phân tích và biên dịch lại tập tin Global.asax thành đối tượng trong bộ nhớ và phát ra sự kiện Application_OnStart. C.Làm việc với thực thể HttpApplication. Trong suốt thời gian sống của ứng dụng, ASP.NET duy tri một số thực thể Global.asax chung dẫn xuất từ lớp HttpApplication. Khi ứng dụng ASP.NET nhận một yêu cầu HTTP thì ASP.NET page framework sẽ chỉ định một trong những đối tượng này để xử lý yêu cầu. Mỗi thực thể HttpApplication chịu trách nhiệm quản lý suốt thời gian sống của yêu cầu mà nó được chỉ định quản lý, và thực thể chỉ được sử dụng lại (reused) cho yêu cầu khác sau khi nó đã xử lý xong yêu cầu hiện tại. Lớp HttpApplication cho phép lập trình (overriding) truy xuất (access) các phương thức (method), cũng như những sự kiện Application_OnStart và Application_OnEnd. Ngoài ra, nó còn cho phép truy xuất đến bất kỳ sự kiện nào được đưa ra (exposed) bởi các module HTTP D. Lập trình lại (Overriding) phương thức Init và Dispose. Phương thức HttpApplication.Init được gọi ngay sau khi một thực thể (instance) của lớp HttpApplication được tạo (sau khi tất cả các module quản lý sự kiện đã được add vào). Có thể sử dụng phương thức này để tạo và cấu hình bất kỳ đối tượng nào được sử dụng xuyên suốt (across) trong tất cả các thao tác xử lý sự kiện. Phương thức Init không giống với sự kiện Application_OnStart, bởi ví nó luôn luôn được gọi trong tất cả các thực thể HttpApplication trong phạm vi một ứng dụng. Sự kiện Application_OnStart chỉ được phát ra một lần trong suốt cuộc sống của ứng dụng, khi thực thể (instance) HttpApplication đầu tiên được tạo. Chỉ sử dụng sự kiện Application_OnStart để tạo và hiệu chỉnh (modify) những trạng thái (state) được chia sẽ bởi tất cả những thực thể pipeline, như là đối tượng ApplicationState. Không sử dụng nó để tạo các biến cục bộ, bởi vì biến cục bộ không được chia sẽ bởi nhiều thực thể HttpApplication.Phương thức HttpApplication.Dispose được gọi trực tiếp trước khi một thực thể của lớp HttpApplication được hũy. Có thể sử dụng nó để xóa bất kỳ local resource nào. Phương thức Dispose không giống với sự kiện Application_OnEnd, bởi vì nó luôn luôn được gọi trong tất cả các thực thể của lớp HttpApplication trong phạm vi một ứng dụng. Sự kiện Application_OnEnd chỉ được phát ra duy nhất một lần trong suốt cuộc sống của ứng dụng, khi thực thể cuối cùng của lớp HttpApplication được hũy (torn down). Chỉ sử dụng sự kiện Application_OnEnd để xóa những trạng thái hoặc những resource được chia sẽ bới tất cả các thực thể pipeline, như là đối tượng ApplicationState. Không sử dụng nó để xóa các biến cục bộ, bởi vì biến cục bộ không được chia sẽ sử dụng bởi nhiều thực thể HttpApplication. Không được sử dụng các thuộc tính Request, Response, Sesstion của thực thể HttpApplication bên trong các hàm Init và Dispose của một sự thực thi yêu cầu. Ví dụ bên dưới chỉ ra làm thế nào để override hai phương thức (method) chu kỳ sống được cung cấp bởi lơp cơ bản HttpApplication. public override void Init() { // Init override code goes here. } public override void Dispose() { // Init override code goes here. } D.1. Quản lý những sự kiện của thực thể HttpApplication Có thể sử dụng tập tin Global.asax để xử lý bất kỳ sự kiện nào được đưa ra (exposed) bởi lớp cơ bản HttpApplication. Mẫu sau đây được cung cấp để thực hiện công việc này: Application_EventName(AppropriateEventArgumentSignature) Ví dụ: đoạn mã sau đây giải quyết các sự kiện OnStart, BeginRequest, và OnEnd cho một ứng dụng ASP.NET, phải đặt đoạn mã vào trong tập tin Global.asax, đoạn mã trong giống như sau: public void Application_OnStart() { // Application start-up code goes here. } public void Application_BeginRequest() { // Application code for each request could go here. } public void Application_OnEnd() { // Application clean-up code goes here. } E. Sử dụng các Module trong tập tin Global.asax. 1. Khái quát. ASP.NET cung cấp những module khác nhau và riêng biệt trong mỗi yêu cầu và những sự kiện được đưa ra (exposed), có thể quản lý (handle) các module này ngay trong tập tin Global.asax hoặc ngay trong một lớp được dẫn xuất từ lớp HttpApplication . Có thể sửa đổi (custmize) và mở rộng các module này, hoặc thậm chí có thể tạo một module mới để xử lý thông tin về các yêu cầu HTTP. Ví dụ, có thể tạo một module output cache để cài đặt (implements) output-caching làm việc (behaviors) cho toàn bộ ứng dụng. Tất cả các module, cả những module tự tạo và những module chuẩn được cung cấp bởi ASP.NET, đều phải cài đặt giao diện IHttpModule . Chỉ cần các module được đăng ký với ứng dụng là có thể dễ dàng tương tác (interact) với các yêu cầu HTTP đi vào ứng dụng. 2. Quản lý HTTP Module Events. Có thể sử dụng các module trong tập tin Global.asax để quản lý bất kỳ sự kiện nào được phát sinh trong các yêu cầu HTTP. Ví dụ, có thể tạo một custom authentication module cho ứng dụng Web định xây dựng, trong module có xử lý sự kiện OnAuthenticateRequest để chứng thực người dùng. Lệnh viết để điều khiển sự kiện phát sinh (exposed) bởi một HTTP module phải phù hợp với mẫu được chỉ rỏ bên dưới. FriendlyModuleName_EventName(AppropriateEventArgumentSignature) Ví dụ, nếu muốn đưa code để quản lý sự kiện bắt đầu và kết thúc của sesstion, cũng như cho sự kiện OnAuthenticateRequest, nó sẽ trong giống như bên dưới. void Session_OnStart() { // Session start-up code goes here. } void Session_OnEnd() { // Session clean-up code goes here. } void Application_OnAuthenticateRequest(Object Source, EventArgs Details) { // Authentication code goes here. } II.3.Cấu hình ASP.NET A .Khái quát -Đặc điểm hệ thống cấu hình của ASP.NET là một thành phần có thể mở rộng được, cho phép định nghĩa những thiết lập hệ thống khi triễn khai ứng dụng ASP.NET lần đầu tiên, sau đó có thể thêm, sửa lại những thiết lập cấu hình tại bất cứ thời điểm nào với một sự tác động nhỏ trên các ứng dụng Web và các Server. -Hệ thống cấu hình của ASP.NET mang lại các lợi ích sau: Thông tin cấu hình được lưu trữ trong tập tin XML chuẫn, cho nên, có thể sử dụng các trình soạn thảo văn bản chuẫn (notepad) hoặc các ứng dụng phân tích XML (XML Parser) để tạo và hiệu chỉnh nó một cách khá dễ dàng. Có nhiều tập tin cấu hình, tất cả đều được đặt tên là Web.config, có thể xuất hiện trong nhiều thư mục của một ứng dụng Server ASP.NET. Mỗi tập tin cấu hình áp dụng những thiết lập cấu hình cho thư mục chứa nó và những thư mục con bên dưới nó. Theo mặc định, những thư mục con sẽ có những thiết lập cấu hình của tập tin Web.config trong thư mục cha, tuy nhiên, những tập tin cấu hình trong thư mục con có thể bổ sung, hiệu chĩnh, và thậm chí còn có thể định nghĩa chòng những thiếg lập của tập tin cấu hình trong thư mục cha. Tập tin cấu hình mức cao nhất có tên là: C:\WINNT\Microsoft.NET\Framework\ version\CONFIG\Machine.config , nó được cung cấp bởi ASP.NET và thiết lập cấu hình cho toàn Web Server. Trong khi chạy, ASP.NET sử dụng thông tin cấu hình được cung cấp trong cấu trúc phân cấp của thư mục ảo để tính ra một thiết lập tổng hợp cho mỗi nguồn lực (resource) duy nhất. Chý ý, hệ thống phân cấu thư mục ở đây là hệ thống thư mục ảo của IIS, không liên quan đến hệ thống thư mục thường được quản lý bởi hệ điều hành. ASP.NET tự động dò tìm những thay đổi trong các tập tin thiết lập cấu hình và tự động áp dụng những thiết lập cấu hình mới cho những trang Web có liên quan. Web Server không cần phải khởi động lại để các thiết lập cấu hình mới có hiệu lực. Thiết lập cấu hình phân cấp (tổng hợp của nhiều tập tin cấu hình) tự động được tính và lưu trữ lại bất cứ khi nào hệ thống phân cấp các tập tin cấu hình có sự thay đổi. Chú ý, những quy tắt ở trên không được tính với khối trong tập tin cấu hình. Hệ thống cấu hình của ASP.NET cho phép mở rộng, có thể thêm vào các thông số cấu hình (configuration parameters), và tạo các vùng điều khiểnc cấu hình (configuration section handlers) để xử lý chúng. ASP.NET bảo vệ các tập tin cấu hình từ sự truy cập từ bên ngoài bằng cách cấu hình IIS ngăn cản truy cập trực tiếp từ Browse đến các tập tin cấu hình. Mã lỗi 403 sẽ được trã về cho bất kỳ sự truy cập trực tiếp nào. B. Định dạng của tập tin cấu hình trong ASP.NET. -Thông tin cấu hình cho nguồn lực ASP.NET (ASP.NET resource) chứa trong một tập hợp các tập tin cấu hình, mỗi tập tin đều được đặt tên là Web.config. Mỗi tập tin cấu hình chứa một hệ thống cấp bậc các tag XML và các subtag cùng với những thuộc tính chỉ định những thiết lập cấu hình. Bởi vì những tag phải có cấu trúc XML đúng chuẫn (well-formed XML) cho nên tag, subtag, attributes phân biệt dạng chữ (case-sensitive). Tên của tag và tên của attributes phải là camel-case, điều này có nghĩa là ký tự đầu tiên của tên tag phải là chử thường, và ký tự đầu tiên của bất kỳ từ theo sau nào phải là chữ hoa. Giá trị của thuộc tính phải là Pascal-case. -Tất cả thông tin cấu hình đều được đặt giữa cặp and . Thông tin cấu hình giữa các tag được nhóm vào hai khối (area) chính: khối định nghĩa điều khiển cấu hình section (the configuration section handler declaration area) và khối (area) thiết lập cấu hình section (the configuration section settings area). Khối định nghĩa điều khiển xuất hiện tại phần đầu của tập tin cấu hình giữa cặp tag and . Mỗi một sự định nghĩa chứa trong một tag chỉ rỏ tên của một vùng (section), mỗi section cung cấp một tập hợp dữ liệu cấu hình và tên của các lớp .NET Framework xử lý dữ liệu cấu hình trong section này. Khối thiết lập cấu hình vùng (section) theo sau khối và chứa các thiết lập cấu hình thật sự. Có mỗi khối thiết lập cấu hình vùng (section) cho mỗi định nghĩa vùng (section) trong khối . Mỗi cấu hình vùng chứa các subtag, các attribute chứa các thiết lập cho vùng. Tập tin Web.config bên dưới là một ví dụ định nghĩa hai điều khiển cấu hình (declares two configuration section handlers). Cái thứ nhất quản lý các thiết lập cho ứng dụng, và cái còn lại quản lý trạng thái section. Chỉ cần định nghĩa khối điều khiển cấu hình section (configuration section handler) một lần duy nhất, có thể đặt nó trong tập tin thiết lập cấu hình toàn server Machine.config hoặc trong tập tin Web.config trong thư mục ảo chứa các tập tin của ứng dụng Web. Các tập tin cấu hình trong thư mục con sẽ tự động thừa kế các định nghĩa điều khiển cấu hình trong thư mục cha. Các thiết lập cấu hình được đặt bên trong các tag phân nhóm section (section grouping tags). Những section tag ở mức cao (top-level section tags) thường mô tả namespace mà những thiết lập cấu hình tác dụng lên. Ví dụ, tag mô tả những thiết lập cho những lớp mạng, và tag mô tả những thiết lập cho những lớp ASP.NET. II.4.Truy cập dữ liệu A .ADO.NET 1.Tổng quan về ADO.NET: ADO.NET cung cấp việc truy cập các nguồn dữ liệu một cách nhất quán như SQL Server, cũng như những nguồn dữ liệu quản lý thông qua OLE DB và XML. Những ứng dụng sử dụng dữ liệu chia sẽ có thể dùng ADO.NET để kết nối đến những nguồn dữ liệu này, cũng như truy xuất, thao tác và cập nhật dữ liệu. ADO.NET dễ dàng quản lý việc truy cập dữ liệu từ việc thao tác trên cơ sở dữ liệu thông qua những thành phần riêng lẽ mà có thể dùng chung hoặc dùng riêng lẽ các thành phần này. ADO.NET bao gồm các trình cung cấp dữ liệu .NET (.NET data provider) cho việc kết nối đến cơ sở dữ liệu, thực thi một câu lệnh và truy xuất kết quả. Các kết quả này hoặc là được xử lý trực tiếp hoặc là được đặt trong một đối tượng ADO.NET Dataset, cho người dùng thao tác trên đối tượng này . Đối tượng ADO.NET Dataset cũng có thể được sử dụng một cách độc lập với .NET data provider để quản lý dữ liệu thuộc những ứng dụng hoặc những nguồn từ XML. Lớp ADO.NET được tìm thấy trong namespace System.Data, và được tích hợp với lớp XML, lớp này được tìm thấy trong namespace System.Xml Connection a)Sự khác nhau giữa ADO.NET và ADO: 1.Sự thể hiện dữ liệu . ADO dữ liệu được lưu trữ ở dạng recordset , còn ADO.NET lưu trữ dạng dataset .Đây là điểm khác biệt quan trọng nhất . 2. Số table . Một recordset như là một table , nếu recordset chứa nhiều tables thì nó phải dùng phép JOIN query kết các bảng lại, lấy dữ liệu từ các tables khác nhau tập hợp lại thành một tables đơn . Ngược lại , dataset là một collection của một hoặc nhiều tables .Các tables bên trong một dataset có thể gọi trực tiếp từng tables thông qua đối tượng DaTaTable . Nếu một dataset chứa nhiều tables ,nó sẽ chứa nhiều đối tượng DataTable .Tức là ,mỗi DataTable điển hình tương đương với một table hoặc là một view. Như vậy một dadaset có cấu trúc tương tự như một database. Ngoài ra , một dataset còn chứa các mối quan hệ .Một mối quan hệ của dataset tương tư như là mối quan hệ khoá ngoại của database ; tức là ,nó kết hợp các dòng của table này với table khác Ví dụ : Một dataset chứa một table về thông tin nhà đầu tư (investors ) và một table khác lưu trữ lĩnh vực đầu tư (purchases) . Nó có thể chứa mối quan hệ mỗi dòng investors table tương ứng mỗi dòng của purchases . Bởi vì dataset có nhiều ngăn với nhiều tables tách rời nhau và các thông tin về mối quan hệ giữa các table với nhau . Vì vậy cấu trúc dữ liệu nhiều hơn recordset và chứa các mối quan hệ trên tables với nhau . 3.Sự ảnh hưởng dữ liệu và con trỏ . Trong ADO ta có thể duyệt liên tục các dòng của recordset ta dùng phương thức ADO MoveNext .Trong ADO.NET, các dòng được thể hiện như một collection. Vì vậy, ta có thể sử dụng vòng lặp thông qua một table như là thông qua một collection, hoặc là truy cập trực tiếp các dòng thông qua số thứ tự hoặc khoá chính. Đối tượng DataRelation chứa thông tin chính và chi tiết của một record và cung cấp phương thức cho phép truy xuất record quan hệ với các record mà ta đang thao tác. Con trỏ là một phần tử của database điều khiển hoạt động của record ,khả năng update dữ liệu và xem xét sự chuyển đồi dữ liệu bởi các user khác nhau .ADO.NET không có đối tượng con trỏ vốn có,nhưng thay vào đó nó chứa data class cung cấp các phương thức như con trỏ truyền thống. 4.Tối ưu các kết nối mở . ADO.NET thường mở một connection đủ để thực thi một thao tác trên database, ví dụ như select hoặc update sau khi thực thi select hoặc update thì connection tự ngắt , ta có thể đọc các dòng vào dataset và thao tác trên nó mà không cần giữ kết nối đến data source.Trong ADO, recordset có thể cung cấp ngắt kết nối ,nhưng ADO được thiết kế chính cho mục đích kết nối liên tục. Một khác biệt quan trọng việc xử lý disconnected trong ADO và ADO.NET . Trong ADO, bạn giao tiếp với cơ sở dữ liệu bằng cách thực hiện cuộc gọi đến Ole Db Provider. Trong ADO.NET, bạn giao tiếp với cơ sở dữ liệu thông qua một DataAdapter(OleDbDataAdapter hay SqlDataAdapter), nó thực hiện việc gọi đến Ole Db provider hay APIs (được cung cấp bởi nguồn dữ liệu cơ bản). Sự khác nhua quan trọng là trong ADO.NET, data adapter cho phép bạn điều khiển cách thay đổi trên dataset được chuyển xuống cơ sở dữ liệu. 5.Chia sẻ dữ liệu giữa các ứng dụng . Việc truyền một ADO.NET Dataset giữa các ứng dụng thì dễ dàng hơn việc truyền một ADO disconnected recordset. Để chuyển một ADO disconnected recordset từ một thành phần đến một thành phần khác, bạn sử dụng COM marshalling. Để truyền dữ liệu trong ADO.NET, bạn sử dụng một Dataset, nó cũng

Các file đính kèm theo tài liệu này:

  • docxNghiên cứu ngôn ngữ lập trình ASPNET.docx
Tài liệu liên quan