.NET Framework là một nền tảng lập trình và cũng là một nền tảng thực thi ứng dụng chủ yếu trên hệ điều hành Microsoft Windows được phát triển bởi Microsoft. Các chương trình được viết trên nền.NET Framework sẽ được triển khai trong môi trường phần mềm (ngược lại với môi trường phần cứng) được biết đến với tên Common Language Runtime (CLR). Môi trường phần mềm này là một máy ảo trong đó cung cấp các dịch vụ như an ninh phần mềm (security), quản lý bộ nhớ (memory management), và các xử lý lỗi ngoại lệ (exception handling).
.NET framework bao gồm tập các thư viện lập trình lớn, và những thư viện này hỗ trợ việc xây dựng các chương trình phần mềm như lập trình giao diện; truy cập, kết nối cơ sở dữ liệu; ứng dụng web; các giải thuật, cấu trúc dữ liệu; giao tiếp mạng... CLR cùng với bộ thư viện này là 2 thành phần chính của.NET framework.
.NET framework đơn giản hóa việc viết ứng dụng bằng cách cung cấp nhiều thành phần được thiết kế sẵn, người lập trình chỉ cần học cách sử dụng và tùy theo sự sáng tạo mà gắn kết các thành phần đó lại với nhau. Nhiều công cụ được tạo ra để hỗ trợ xây dựng ứng dụng.NET, và IDE (Integrated Developement Environment) được phát triển và hỗ trợ bởi chính Microsoft là Visual Studio.
Phi
ên bản phiên bản Số hiệu
Ngày
phát hành Visual Studio Được phát hành kèm theo 1.0 1.0.3705.0 13 tháng
2 năm 2002
Visual Studio.NET
Windows XP Tablet and Media Center Editions[1]
1.1 1.1.4322.573 73
24 tháng 4 năm 2003
Visual
Studio.NET 2003 Windows Server 2003 2.0 2.0.50727. 42 7 tháng 11 năm 2005 Visual Studio 2005 Windows Server 2003 R2 3.0 3.0.4506.3 0 6 tháng 11 năm 2006
Windows Vista, Windows Server 2008 3.5 3.5.21022. 8 19 tháng 11 năm 2007 Visual Studio 2008 Windows 7, Windows Server 2008 R2 4.0 4.0.30319. 1 12 tháng 4 năm 2010 Visual Studio 2010 4.5 4.5.50709 15 tháng 8 năm 2012 Visual Studio 2012 Windows 8, Windows Server 2012 1. 3. Tổng quan về ASP.net
Từ khoảng cuối thập niên 90, ASP (Active Server Page) đã được nhiều lập trình viên lựa chọn để xây dựng và phát triển ứng dụng web động trên máy chủ sử dụng hệ điều hành Windows. ASP đã thể hiện được những ưu điểm của mình với mơ hình lập trình thủ tục đơn giản, sử dụng hiệu quả các đối tượng COM: ADO (ActiveX Data Object) - xử lý dữ liệu, FSO (File System Object) - làm việc với hệ thống tập tin…, đồng thời, ASP cũng hỗ trợ nhiều ngôn ngữ: VBScript, JavaScript. Chính những ưu điểm đó, ASP đã được yêu thích trong một thời gian dài.
Tuy nhiên, ASP vẫn cịn tồn đọng một số khó khăn như Code ASP và HTML lẫn lộn, điều này làm cho q trình viết code khó khăn, thể hiện và trình bày code khơng trong sáng, hạn chế khả năng sử dụng lại code. Bên cạnh đó, khi triển khai cài đặt, do khơng được biên dịch trước nên dễ bị mất source code. Thêm vào đó, ASP khơng có hỗ trợ cache, không được biên dịch trước nên phần nào hạn chế về mặt tốc độ thực hiện. Quá trình xử lý Postback khó khăn, …
Đầu năm 2002, Microsoft giới thiệu một kỹ thuật lập trình Web khá mới mẻ với tên gọi ban đầu là ASP+, tên chính thức sau này là ASP.Net. Với ASP.Net, không những khơng cần địi hỏi bạn phải biết các tag HTML, thiết kế web, mà nó cịn hỗ trợ mạnh lập trình hướng đối tượng trong quá trình xây dựng và phát triển ứng dụng Web.
ASP.Net là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server (Server-side) dựa trên nền tảng của Microsoft .Net Framework.
Hầu hết, những người mới đến với lập trình web đều bắt đầu tìm hiểu những kỹ thuật ở phía Client (Client-side) như: HTML, Java Script, CSS (Cascading Style Sheets). Khi Web browser yêu cầu một trang web (trang web sử dụng kỹ thuật client-side), Web server tìm trang web mà Client yêu cầu, sau đó gởi về cho Client. Client nhận kết quả trả về từ Server và hiển thị lên màn hình.
ASP.Net sử dụng kỹ thuật lập trình ở phía server thì hồn tồn khác, mã lệnh ở phía server (ví dụ: mã lệnh trong trang ASP) sẽ được biên dịch và thi hành tại Web Server. Sau khi được Server đọc, biên dịch và thi hành, kết quả tự động được chuyển sang HTML/JavaScript/CSS và trả về cho Client.
Tất cả các xử lý lệnh ASP.Net đều được thực hiện tại Server và do đó, gọi là kỹ thuật lập trình ở phía server.
Ưu điểm của Asp.net
- ASP.Net cho phép bạn lựa chọn một trong các ngôn ngữ lập trình mà bạn u thích: Visual Basic.Net, J#, C#,…
- Trang ASP.Net được biên dịch trước. Thay vì phải đọc và thông dịch mỗi khi trang web được yêu cầu, ASP.Net biên dịch những trang web động thành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả. Yếu tố này là một bước nhảy vọt đáng kể so với kỹ thuật thông dịch của ASP.
ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của .Net Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua ADO.Net, …
ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng.
ASP.Net sử dụng phong cách lập trình mới: Code behide. Tách code riêng, giao diện riêng -> Dễ đọc, dễ quản lý và bảo trì.
Hỗ trợ quản lý trạng thái của các control
Tự động phát sinh mã HTML cho các Server control tương ứng với từng loại Browser Hỗ trợ nhiều cơ chế cache.
Triển khai cài đặt
Không cần lock, không cần đăng ký DLL Cho phép nhiều hình thức cấu hình ứng dụng Hỗ trợ quản lý ứng dụng ở mức tồn cục Global.aspx có nhiều sự kiện hơn
Quản lý session trên nhiều Server, không cần Cookies
ASP.NET là một mơ hình thiết kế website thống nhất bao gồm cách dịch vụ cần thiết để xây dựng các ứng dụng website doanh nghiệp lớn. ASP.NET là một phần của NET Framework.
Ở chủ đề này chúng tôi sẽ mơ tả các tính năng của ASP.NET và Visual Web Developer, môi trường phát triển tạo ra các ứng dụng ASP.NET.
Visual Web Developer:
Visual Web Developer là một môi trường phát triển đầy đủ tính năng để tạo ra các ứng dụng website ASP.NET.
Các tính năng: bố trí trang web phù hợp với các trang tổng thể và sự xuất hiện trang phù hợp với các chủ đề.
Chỉnh sửa mã : trình biên tập cho phép bạn viết mã cho các website động trong Visual Basic hoặc C#.
Kiểm tra và gỡ rối : Máy chủ web thử nghiệm và gỡ rối giúp bạn tìm thấy lỗi trong chương trình.
Triển khai : Cơng cụ tự động hóa các nhiệm vụ cho việc triển khai một ứng dụng web đến một máy chủ lưu trữ hoặc nhà cung câp lưu trữ.
Các website dự án và ứng dụng với ASP.NET
Sử dụng Visual 2010, bạn có thể tạo ra các dự án khác nhau với ASP.NET, bao gồm các trang web, các ứng dụng web,các dịch vụ web, và điều khiển máy chủ AJAX.
Có một sự khác biệt giữa các dự án website và các dự án ứng dụng website. Một số tính năng chỉ làm việc với các dự án ứng dụng web như công cụ MVC và một số đẻ tự động hóa việc triển khai web. Các tính năng khác như đồng bộ hóa dữ liệu, làm việc với trang web và các dự án ứng dụng web.
ASP.NET API Reference
Cung cấp một lượng lớn các thư viện dung cho ASP.NET. Trang web và các điều khiển.
Trang ASP.NET và điều khiển là một chương trình chạy trên máy chủ tự động đưa ra các trang ASP.NET. Các trang ASP.NET có thể được yêu cầu từ bất kỳ trình duyệt nào hoặc các thiết bị của khách hàng. Theo quy định bạn có thể sử dụng cùng một website cho nhiều trình duyệt.ASP.NET là cơng cụ thiết kế website hồn tồn hướng đối tượng. Nó cũng cho phép đóng gói các chức năng giao diện người dung thông thường dễ sử dụng,kiểm sốt để có thể tái sử dụng.
Ngoài ra các chủ đề cũng giúp bạn xác định trang chủ để tạo ra và bố trí phù hợp cho các website trong ứng dụng của bạn. Khung trang ASP.NET cũng cho phép bạn xác định mô
hình các URL sẽ được sử dụng trong website của bạn. Điều này giúp tối ưu hóa cơng cụ tìm kiếm và làm cho các URL thân thiện với người sử dụng.
Biên dịch ASP.NET
ASP.NET biên dịch, cho phép tối ưu hóa hiệu xuất,tối ưu hóa ràng buộc và những lợi ích khác. Một khi mã đã được biên dịch, thời gian chạy sẽ được cải thiện.
Bảo Mật
Ngồi các tính năng bảo mật cung cấp một sơ sở bảo mất tiên tiến để chứng thực và cho phép người dung truy cập vào các nhiệm vụ liên quan đến an ninh.Bạn có thể xác thực bằng cách sử dụng window xác thực được cung cấp bởi IIS hoặc quản lý xác thực bằng cơ sở dữ liệu người dùng riêng.
Cấu hình ASP.NET
ASP.NET sử dụng một cấu hình hệ thống cho phép bạn xác định và thiết lập cấu hình cho máy chủ web của bạn. ASP.NET thiết lập cấu hình được lưu trữ trong các tập tin XML.
Hỗ trợ gỡ lỗi
ASP.NET có lợi thế gỡ lỗi trong thời gian chạy để cung cấp quá ngôn ngữ và hỗ trợ gỡ lỗi qua máy tính. Bạn có thể gỡ lỗi cả hai đối tượng quản lý và không được quản lý.
Web Service Framework ASP.NET hỗ trợ các dịch vụ web XML cho phép ứng dụng trao đổi thông tin qua bức tường lửa bằng cách sử dụng các tiêu chuẩn như HTTP và XML. Bất cứ ngơn ngữ lập trình web nào cũng có thể trao đổi thơng tin và truy cập các dịch vụ web XML.
Ứng dụng web dựa trên mơ hình MVC
ASP.NET MVC giúp các nhà phát triển web xây dựng ứng dụng dựa trên tiêu chuẩn được dễ dàng duy trì bởi nó giảm sự phụ thuộc vào các class.
ASP.NET sử dụng dữ liệu động
ASP.NET sử dụng dữ liệu động cho phép bạn tạo ra các ứng dụng web hướng dữ liệu một cách dễ dàng.Bạn sẽ tìm thấy rằng bạn có thể nhận được các ứng dụng chạy dễ dàng hơn và với ít mã hơn so với trước đây. Đồng thời bạn có thể thêm các tính năng tùy chỉnh để các dữ liệu ASP.NET động để thích ứng với yêu cầu riêng của bạn.
1.4 Tổng quan về ADO.net
Mọi ứng dụng ít nhiều đều cần lưu trữ dữ liệu. Dữ liệu từ người dùng nhập vào, dữ liệu được lưu trữ trong ứng dụng và dữ liệu từ các hệ thống khác, … tất cả đều là nguồn thông tin mà ứng dụng cần xử lý với chức năng chính là hỗ trợ tìm kiếm, tính tốn, thống kê và ra quyết định.
Để thực hiện các chức năng xử lý dữ liệu, người lập trình cần phải có các cơng cụ lập trình chun dụng. Dữ liệu không đơn giản lưu trữ trên các file văn bản hay file nhị phân với cấu trúc record do người lập trình định nghĩa. Thay vào đó hầu hết các ứng dụng tổ chức dữ liệu logic dựa trên cấu trúc cơ sở dữ liệu quan hệ và lưu trữ vật lý dựa vào các hệ quản trị cơ sở dữ liệu quan hệ như Access, SQL Server, Oracle, DB2, …
Khi dữ liệu trở thành trung tâm của ứng dụng thì việc cung cấp các chức năng tới người dùng phụ thuộc vào khả năng xử lý và thao tác với dữ liệu. Vấn đề mà người thiết kế và xây dựng ứng dụng quan tâm khi al2m việc với dữ liệu là :
• Lưu trữ dữ liệu tập trung. • Đảm bảo tồn vẹn dữ liệu.
• Đảm bảo khả năng truy xuất đồng thời của nhiều người dùng trên dữ liệu. • Đảm bảo thời gian hồi đáp ngắn cho mỗi người dùng.
• Bảo mật dữ liệu.
• Trao đổi dữ liệu giữa các hệ thống khác nhau.
Những vấn đề này được giải quyết nhờ vào khả năng của các hệ quản trị cơ sở dữ liệu (HQT CSDL) và cách phần mềm xử lý dữ liệu do hệ quản trị cơ sở dữ liệu cung cấp. Với các database server sử dụng HQT CSDL như Oracle, SQL Server, … dữ liệu được đảm bảo lưu trữ tập trung, toàn vẹn và truy xuất đồng thời cũng như bảo mật. Tuy nhiên, thời gian hồi đáp người dùng và trao đổi dữ liệu phụ thuộc hòan toàn vào các phần mềm. Với các cơng cụ lập trình xử lý dữ liệu như ADO (Active Data Object), Microsoft đem lại cho người lập trình một công cụ rất tự nhiên khi thực hiện các thao tác trên dữ liệu. ADO được cải tiến liên tục trong các phiên bản hệ điều hành Windows hay Microsoft Office. Tuy nhiên với sự ra đời của .NET, ADO không chỉ là thành phần Component độc lập nhưng gắn liền với .NET Framework để cung cấp các dịch vụ xử lý dữ liệu.
Cấu trúc của Ado nhằm cung cấp khả năng truy xuất và xử lý dữ liệu lớn, đồng thời trên hệ thống ứng dụng phân tán nhiều người dùng.
Đặc điểm chính của ADO.NET là làm việc với dữ liệu không kết nối. Dữ liệu được lưu trữ trong bộ nhớ như một CSDL thu nhỏ gọi là DataSet, nhằm tăng tốc độ tính tốn, xứ lý tối đa và hạn chế việc sử dụng tài nguyên trên Database Server. Đặc điểm quan trọng thứ hai là khả năng xử lý dữ liệu dạng chuẩn XML. Dữ liệu ở dạng XML có thể trao đổi giữa bất kỳ hệ thống nào nên ứng dụng của bạn sẽ có nhiều khả năng làm việc với nhiều ứng dụng khác.
Chúng ta sẽ từng bước xem xét phần tổng quan kiến trúc của ADO.NET cùng với các kỹ thuật lập trình cơ bản.
Kiến trúc ADO.NET
Kiến trúc ADO.NET có thể chia làm hai phần chính :
• Managed Provider Component : bao gồm các đối tượng như DataAdapter, DataReader, … giự nhiệm vụ làm việc trực tiếp với dữ liệu như database, file, …
• Content Component : bao gồm các đối tượng như DataSet, DataTable, … đại diện cho dữ liệu thực sự cần làm việc. DataReader là đối tượng giúp truy cập dữ liệu nhanh chóng nhưng forward-only và read-only.
DataSet có thể coi là một bản sao gọn nhẹ của CSDl trong bộ nhớ với nhiều bảng và các mối quan hệ.
DataAdapter là đối tượng kết nối giữa DataSet và CSDL, nó bao gồm hai đối tượng Connection và Command để cung cấp dữ liệu cho DataSet cũng như cập nhật dữ liệu từ DataSet xuống CSDL.
Các đặc điểm của ADO.NET
ADO.NET có nhiều thay đổi so với ADO trước đây dù vẫn giữ lại kiến trúc các đối tượng độc lập với nhau và cố gắng không thay đổi cách thức các lập trình viên đã sử dụng quen thuộc với ADO. ADO.NET có nhiều đặc điểm mới, nổi bật :
• Interoperability • Scalability • Productivity • Performance
Interoperability – Tương tác giữa nhiều hệ thống khác nhau :
Trong các hệ thống phân tán, dữ liệu được chuyển ở dạng disconnected recordset giữa Data provider và Data consumer. Vì ở dạng RecordSet, cả provider và consumer cần phải sử dụng COM để trao đổi dữ liệu dẫn đến việc khó mở rộng hệ thống vì COM khơng làm
việc qua Firewall và Network Address Translator (NAT).
ADO.NET giải quyết vấn đề này bằng cách thay đổi về bản chất của việc đóng gói dữ liệu trước khi truyền trên mạng.
• Với ADO, disconnected RecordSet được đóng gói ở dạng Network Data Representation (NDR) trước khi truyền trên mạng. NDR vẫn là dạng đối tượng mà ở tầng Apllication, data provider và data consumer phải sử dụng kỹ thuật COM để xử lý.
• ADO.NET thay thế NDR bằng định nghĩa mới : XML. Với bản chất Text, XML hòan tồn có thể sử dụng HTTP để trao đổi dữ liệu. Hơn nữa XML document dễ dàng được xử lý mà không cần đến kỹ thuật COM. XML là chuẩn để trao đổi dữ liệu mới nhất và đang được hỗ trợ rất rộng rãi.