Đây là bài đầu tiên trong loạt bài về VS 2010 và .NET 4.0.
Có thể bài viết này hơi ngắn, nhưng đây là một thay đổi hay, thay đổi đầu tiên sẽ đến với bản ASP.NET 4.0 là: file web.config đơn giản, sáng sủa hơn.
Bạn sẽ thấy ngay điều này ngay khi tạo một dự án ASP.NET 4.0 mới (đó là lý do tại sao tôi chọn bài này là bài đầu tiên).
Các fileWeb.config trong .NET 3.0 và 3.5
Trong 2 phiên bản vừa rồi, file web.config trong các dự án ASP.NET cứ tăng kích thước dần. Ví dụ: file web.config mặc nhiên được thêm vào dữ án mới trong VS 2008 SP1 có 126 dòng, chứa tất cả mọi thứ từ định nghĩa thẻ cho đến các handler và module được thêm vào ASP.NET Http pipeline.
Điều này làm tăng kích thước bởi vì .NET 3.0 và .NET 3.5 dùng cùng CLR và machine.config giống như trong .NET 2.0 – và đơn giản là thêm vào và cập nhật các assembly khi nó được cài đặt. Để tránh rủi ro khi vô tình ghi đè các thiết đặt trong file machine.config của bản 2.0, chúng tôi đã không đăng ký thêm các tag, handler và module có trong bản .NET 3.0 hay 3.5. Thay vào đó, chúng tôi đã mặc nhiên bắt các project mới phải đăng ký các cài đặt đó bên trong file web.config riêng. Điều này an toàn hơn, nhưng bù lại các file web.config trở nên lớn và khó đọc hơn.
File Web.config trong .NET 4
.NET 4.0 bao gồm một phiên bản mới của CLR, và một file machine.config riêng cho bản 4.0 (nó được cài đặt side-by-side với các file được dùng trong bản .NET 2, .NET 3 và .NET 3.5).
File machine.config có trong .NET 4.0 sẽ tự động đăng ký tất cả các ASP.NET tag section, handler và module mà chúng tôi đã thêm vào trong nhiều năm qua, bao gồm cả cho:
- ASP.NET AJAX
- ASP.NET Dynamic Data
- ASP.NET Routing (có thể dùng cho cả ASP.NET WebForms và ASP.NET MVC)
- ASP.NET Chart Control (sẽ được đóng gói cùng ASP.NET V4)
Có nghĩa là khi bạn tạo một project “Empty ASP.NET application” mới trong VS 2010, bẹn sẽ thấy rằng file web.config mới rõ ràng và sáng sủa hơn:

Phần cấu hình đầu tiên ở trên chỉ đơn giản nói với ASP.NET bật chế độ debug, và chỉ ra phiên bản của .NET mà VS phải dùng khi cung cấp intellisense (VS 2010 hỗ trợ xây dựng ứng dụng cho các phiên bản khác nhau – và intellisense bên trong IDE sẽ tự động điều chỉnh theo phiên bản của .NET mà bạn đang hướng đến).
Phần thứ hai chỉ ra bạn sẽ dùng chế độ “integrated” khi chạy ASP.NET bên trong IIS7 – nó sẽ kiểm soát việc có chạy các HttpModules cho tất cả các request bên trong ứng dụng hay chỉ cho các URL cụ thể nào đó. Chúng tôi đã mặc nhiên bật tính năng này cho các project mới – lý do là để tương thích, IIS7 mặc nhiên chỉ chạy các module với các ASP.NET URL.
Tổng kết
Việc đơn giản hóa file web.config trong .NET 4 thực sự chỉ là một thay đổi nhỏ – nhưng dù sao nó cũng là một cái hay, và là cái giúp cho các ứng dung ASP.NET mới sáng sủa và dễ tiếp cận hơn.
Trong các bài viết kế tiếp, tôi dự định sẽ đào sâu vào nhiều các cải tiến quan trọng có trong ASP.NET 4 (cũng như một số các “small but nice tweaks”).
Hope this helps,
Scott
Leave a Reply