Sự khác biệt chính: ASP là viết tắt của Active Server Pages. Nó thường được gọi là Classic ASP hoặc ASP Classic. Nó là một môi trường kịch bản phía máy chủ được phát triển và phát hành bởi Microsoft. ASP.NET là một khung ứng dụng Web phía máy chủ. ASPX là viết tắt của Active Server Pages Extended. Nó được thiết kế để phát triển Web để tạo ra các trang Web động. Cả hai đều hỗ trợ bối cảnh của một phiên. Một đối tượng phiên lưu trữ thông tin về hoặc thay đổi cài đặt cho phiên người dùng. Về cơ bản, nó ghi chú mọi thứ người dùng nhìn thấy và thực hiện trên một trang, đặc biệt là bất kỳ thay đổi nào mà người dùng có thể kết hợp trên trang.
ASP chủ yếu được sử dụng để tạo và chạy các ứng dụng máy chủ Web tương tác động. Nó cũng cho phép một người kết hợp các trang HTML, lệnh script và các thành phần COM để tạo các trang Web tương tác và các ứng dụng dựa trên Web mạnh mẽ. Nó cũng làm cho việc phát triển và sửa đổi các ứng dụng Web nói trên dễ dàng hơn.
Sau khi phát hành ban đầu, đã có hai phiên bản phát hành. ASP 2.0 đã giới thiệu sáu đối tượng tích hợp sẵn cho bản gốc, đó là Ứng dụng, ASPError, Yêu cầu, Phản hồi, Máy chủ và Phiên. ASP 3.0 đã giới thiệu một số cải tiến bổ sung như phương thức Server.Transfer, phương thức Server.Execute và một đối tượng ASPError nâng cao. Ngoài ra, ASP 3.0 cũng cho phép đệm theo mặc định và tối ưu hóa động cơ để có hiệu suất tốt hơn. Tuy nhiên, kể từ tháng 5 năm 2013, không có kế hoạch nâng cấp lên ASP.
ASP.NET được xây dựng trên Runtime Ngôn ngữ chung (CLR). Điều này cho phép các lập trình viên viết mã ASP.NET bằng bất kỳ ngôn ngữ .NET được hỗ trợ nào. Các trang web ASP.NET cũng thường được gọi là Web Forms. Chúng chứa đánh dấu HTML tĩnh (X). Nó cũng chứa đánh dấu xác định Điều khiển web và Điều khiển người dùng phía máy chủ. Đây là nơi các nhà phát triển đặt tất cả nội dung RC cho trang Web.
Trong ASP.NET Framework 2.0, một mô hình mã phía sau mới đã được giới thiệu. Điều này cho phép văn bản tĩnh vẫn ở trên trang .aspx, trong khi mã động vẫn ở trong tệp .aspx.vb hoặc .aspx.cs hoặc .aspx.fs. Vị trí của mã động phụ thuộc vào ngôn ngữ lập trình được sử dụng.
Cả hai đều hỗ trợ bối cảnh của một phiên. Một đối tượng phiên lưu trữ thông tin về hoặc thay đổi cài đặt cho phiên người dùng. Về cơ bản, nó ghi chú mọi thứ người dùng nhìn thấy và thực hiện trên một trang, đặc biệt là bất kỳ thay đổi nào mà người dùng có thể kết hợp trên trang. Điều này có một lợi thế, vì trong trường hợp hệ thống gặp sự cố giữa các thay đổi mà người dùng đang cố thực hiện, các thay đổi sẽ không bị mất khi hệ thống gặp sự cố. Phiên này sẽ giữ bộ nhớ về nơi người dùng rời đi.
Phiên này về cơ bản là một cookie trang web. Nó lưu trữ và truy xuất các giá trị cho người dùng khi người dùng điều hướng trang web. Các biến được lưu trữ trong một đối tượng Phiên giữ thông tin về một người dùng và có sẵn cho tất cả các trang trong một ứng dụng. Một số thông tin phổ biến được lưu trữ trong các biến phiên là tên, ID và tùy chọn. Máy chủ tạo một đối tượng Phiên mới cho mỗi người dùng mới và phá hủy đối tượng Phiên khi hết hạn phiên.
Một số khác biệt giữa Phiên ASP và Phiên ASP.NET:
- Trong ASP, phiên phụ thuộc vào Quá trình, trong khi trong ASP.NET, phiên là quy trình độc lập.
- Trong ASP, phiên phụ thuộc vào Cookie, trong khi ở ASP.NET, phiên độc lập với Cookie.
- Trạng thái phiên ASP không có giải pháp cố hữu để làm việc với Web Farms. Phiên ASP.NET có thể được lưu trữ trong máy chủ trạng thái và SQL SERVER có thể hỗ trợ nhiều máy chủ.
- Phiên ASP chỉ hoạt động khi trình duyệt hỗ trợ cookie, phiên ASP.NET chạy không phân biệt.
- Trạng thái phiên ASP phụ thuộc rất nhiều vào quá trình IIS. Nếu IIS khởi động lại các biến phiên ASP cũng được tái chế. Trong khi đó, phiên ASP.NET có thể độc lập với môi trường lưu trữ do đó phiên ASP.NET có thể duy trì ngay cả khi IIS khởi động lại.
- Phiên ASP đối mặt với giới hạn trang trại máy chủ. Khi người dùng chuyển từ máy chủ này sang máy chủ khác trong cụm máy chủ Web, trạng thái phiên của họ không tuân theo họ. Trạng thái phiên ASP.NET có hỗ trợ cho cấu hình cụm máy chủ. Nó chuyển sang một mô hình ngoài quy trình, do đó nó không phải đối mặt với vấn đề máy chủ.