Trong nhiều năm qua, ASP đã được cho rằng đó thực sự là một lựa chọn hàng đầu cho web developers trong việc xây dựng những web sites trên nền máy chủ web Windows bởi nó vừa linh hoạt mà lại đầy sức mạnh. Đầu năm 2002, Microsoft đã cho ra đời một công nghệ mới đó chính là ASP.NET. Đây thực sự là một bước nhảy vượt bậc của ASP cả về phương diện tinh tế lẫn hiệu quả cho các developers. Nó tiếp tục cung cấp khả năng linh động về mặt hỗ trợ ngôn ngữ, nhưng hơn hẳn về mặt lĩnh vực ngôn ngữ script vốn đã trở nên hoàn thiện và trở thành ngôn ngữ cơ bản của các developers. Việc phát triển trong ASP.NET không chỉ yêu cầu hiểu biết về HTML và thiết kế web mà còn khả năng nắm bắt những khái niệm của lập trình và phát triển hướng đối tượng.
Lần lượt, chúng ta sẽ tìm hiểu về ASP.NET, về cách cài đăt các phần mềm, tạo web server… cũng như cách thức thiết kế một trang ASP.NET. Tuy nhiên, trước tiên chung ta sẽ đinh nghĩa xem ASP thật sự là gì.
ASP.NET là một kỹ thuật phía server (server-side) dành cho việc thiết kế các ứng dụng web trên môi trường .NET.
ASP.NET là một kỹ thuật server-side. Hầu hết những web designers bắt đầu sự nghiệp của họ bằng việc học các kỷ thuật client-side như HTML, JavaScript và Cascading Style Sheets (CSS). Khi một trình duyệt web yêu cầu một trang web được tạo ra bởi các kỷ thuật client-side, web server đơn giản lấy các files mà được yêu cầu và gửi chúng xuống. Phía client chịu trách nhiệm hoàn toàn trong việc đọc các định dạng trong các files này và biên dịch chúng và xuất ra màn hình.
Với kỹ thuật server-side như ASP.NET thì hoàn toàn khác, thay vì việc biên dịch từ phía client, các đoạn mã server-side sẽ được biên dịch bởi web server. Trong trường hợp này, các đoạn mã sẽ được đọc bởi server và dùng để phát sinh ra HTML, JavaScript và CSS để gửi cho trình duyệt. Chính vì việc xử lý mã xảy ra trên server nên nó được gọi là kỹ thuật server-side.
ASP là một kỹ thuật dành cho việc phát triển các ứng dụng web. Một ứng dụng web đơn giản chỉ các trang web động. Các ứng dụng thường được lưu trữ thông tin trong database và cho phép khách truy cập có thể truy xuất và thay đổi thông tin. Nhiều kỹ thuật và ngôn ngữ lập trình khác cũng đã được phát triển để tạo ra các ứng dụng web như PHP, JSP, Ruby on Rails, CGI và ColdFusion. Tuy nhiên thay vì trói buộc bạn vào một ngôn ngữ và một công nghệ nhất định, ASP.NET cho phép bạn viết ứng dụng web bằng các loại ngôn ngữ lập trình quen thuộc khác nhau.
ASP.NET sử dụng .NET Framework, .NET Framework là sự tổng hợp tất các các kỷ thuật cần thiết cho việc xây dựng một ứng dụng nền desktop, ứng dụng web, web services…. thành một gói duy nhất nhằm tạo ra cho chúng khả năng giao tiếp với hơn 40 ngôn ngữ lập trình.
Thậm chí với những sự lý giải kỹ càng như vậy, bạn vẫn ngạc nhiên tự hỏi điều gì làm nên một ASP.NET tốt như vậy. Sự thật là có rất nhiều kỹ thuật server-side với điểm mạnh và điểm yếu riêng nhưng ASP.NET có những tính năng gần như là duy nhất.
- ASP cho phép bạn sử dụng ngôn ngữ lập trình mà bạn ưa thích hoặc gần gủi với chúng. Hiện tại, thì .NET Framework hỗ trợ trên 40 ngôn ngữ lập trình khác nhau mà đa phần đều có thể được sử dụng để xây dựng nên những web sites ASP.NET. Chẳng hạn như C# (C sharp) và Visual Basic.
- Nhưng trang ASP.NET được Compiled chứ không phải là Interpreted. Khác với các trang ASP được Interpreted, điều này có nghĩa là mỗi lần người dùng yêu cầu một trang, máy chủ sẽ đọc các đoạn mã vào bộ nhớ, xử lý cách thức thực thi các đoạn mã và thực thi chúng. Đối với ASP.NET, máy chủ chỉ càn xử lý cách thức thực thi một lần duy nhất. Đoạn mã sẽ được Compiled thành các files mã nhị phân cái mà được thực thi rất nhanh mà không cần phải đọc lại. Chính điều này tạo ra bước tiến nhảy vọt về hiệu suất so với ASP
- ASP đã cả khả năng toàn quyền truy xuất tới các chức năng của .NET Framework. Hỗ trợ XML, web services, giao tiếp với CSDL, email… và rất nhiều các kỹ thuật khác được tích hợp vào .NET, giúp bạn tiết kiệm được công sức.
- ASP cho phép bạn phân chia các đoạn mã server-side và HTML. Khi bạn phải làm việc với cả đội ngũ lập trình và thiết kế, sự tách biệt này cho phép các lập trình viên chỉnh sửa server-side code mà không cần dính dáng gì tới đội ngũ thiết kế.
- ASP giúp cho việc tái sử dụng những yếu tố giao diện người dùng trong nhiều web form vì nó cho phép chúng ta lưu các thành phần này một cách độc lập.
- Bạn có được một công cụ tuyệt vời hỗ trợ phát triển các ứng dụng ASP.NET hoàn toàn miễn phí, đó là Visual Web Developer, một trình soạn thảo trực quan mạnh mẽ có tính năng Code Autocompletion, Code Format, Database Integration Functionality, Visual HTML editor, Debugging…

