


Programming
ASP .NET
ASP.NET Objects phần 6 | ASP.NET Objects phần 6 |
ASP.NET Objects phần 68. HttpApplication ObjectHttpApplication Object biểu hiện cho ứng dụng AsP.NET. AsP.NET định nghĩa ứng dụng bao gồm tất cả mọi tập tin kể cả các sub folder và các tập tin trong đó ở 1 Virtual Directory. Cũng tương tự như đối tượng Response, AsP.NET tạo ra 1 đối tượng HttpApplication gọi là Application chỉ khi nào ứng dụng được khởi động - nghĩa là khi có user yêu cầu tham khảo trang web trong site lần đầu tiên. Lưu ý: chỉ có duy nhất một đối tượng Application được tạo cho toàn bộ ứng dụng không như đối tượng Session được tạo ra riêng biệt cho từng user. Tuy nhiên, đối tượng httpApplication giống đối tượng Session là được dùng lưu trữ các biến số và các đối tượng liên hệ. Các biến số và các đối tượng này có hiệu lực cho toàn bộ ứng dụng chứ không cá biệt cho một ai. Ví dụ, bạn muốn hiển thị 1 'footer' hay 'disclaim' ở cuối mỗi trang web, ta làm như sau: Application("Disclaimer")="Copyright 2007" sau đó, trong mỗi trang web ta làm như sau: Response.write(Application("Disclaimer")) Việc dùng đối tượng httpApplication có thể giúp tránh rò rỉ bộ nhớ vì chỉ lưu trữ một lần nhưng dùng ở mọi trang web. Ngược lại, nếu lưu trữ cùng một thông tin với đối tượng Session, AsP.NET sẽ lưu trữ riêng biệt cho từng user và bạn có thể hiểu được việc gì sẽ xảy ra nếu hàng trăm hoặc hàng nghìn thậm chí hàng triệu user cùng vào một lúc. 9. Đối tượng HttpServerUtility Đối tượng HttpServerUtility được dùng để cung cấp nhiều 'helper methods' giúp giải quyết tiến trình yêu cầu của user. Có thể dùng đối tượng này dưới tên gọi là Server để liên hệ các thành viên của HttpServerUtility Object. a. Redirecting Users Ta đã làm quen với cách chuyển user qua 1 trang web khác bằng phương thức Response.Redirect. Phương thức này gửi kèm với 1 dạng thông tin http tới browser cho biết việc chuyển như thế nào. Việc chuyển này đòi hỏi 1 đường vòng (round trip) không cần thiết vì user phải thăm trang web của ta trước khi được chuyển đi. AsP.NET có thể chuyển user trực tiếp qua trang web khác với phương thức Execute và Transfer thuộc đối tượng httpServerUtility. Server.Transfer thi hành việc chuyển qua trang web khác 1 cách đơn giản mà không đòi hỏi bất cứ thông tin phải gửi tới browser, công việc này tiến hành sau hậu trường và user không hề hay biết. Ví dụ sau đây cho thấy nguồn mã kiểm tra mật mã của user và chuyển user qua 1 trang web khác 1 cách trực tiếp. if(strPassword =="admin") Server.Transfer("admin.aspx") end if b. Formatting Strings Có 4 phương thức cơ bản để cấu tạo hay hình thành 1 hàng chữ (format a string): + HTMLEncode Mỗi khi ta gửi kết quả đến browser, AsP.NET tự động thông dịch mã nguồn thành dạng HTML tương đương. Ví dụ: để thêm vào 1 'line break' sau: Response.write("<BR>") Tuy nhiên, đôi khi muốn hiển thị chính hàng chữ <BR> thay vì một 'line break' trên máy Client ta sử dụng phương thức HTMLEncode của đối tượng HttpServerUtility. Thí dụ sau hiển thị kết quả của các ký hiệu <BR> trên máy Client và user sẽ thấy hàng chữ <BR> thật sự: Response.write(Server.HTMLEncode("<BR>")) Lưu ý: < là nguồn mã của HTML cho ký hiệu <, > cho ký hiệu >. + URLEncode Các dấu ? và & mang ý nghĩa đặc trưng trong các UrL, do đó Server.URLEncode cần chuyển các ký hiệu như vậy qua dạng dùng cho phiên bản UrL (UrL-encode version). Điều này thật quan trọng khi dùng các ký hiệu này kèm trong một querystring. + HTMLDecode, UrLDecode Các phương thức này được dùng như HTMLEncode và UrLEncode tương ứng nhưng thực hiện 1 tiến trình đảo ngược lại, nghĩa là chuyển (translate) các chuỗi ký hiệu mã hóa (encoded character sequences) trở lại dạng nguyên thuỷ. Ví dụ chuyển < trở lại ký hiệu <. + MapPath Server.MapPath trả về đường dẫn vật lý. Ví dụ: <% Response.write (Server.MApPAth("/vn4000")) %> Kết quả D:\webvp\vn4000 |
| < Trước | Tiếp > |
|---|