ASP.NET là phiên bản kế tiếp của Active Server Page (ASP); nó là một nền phát triển ứng dụng Web hợp nhất, cung cấp nhiều dịch vụ cần thiết cho lập trình viên xây dựng các lớp ứng dụng chuyên nghiệp.
1 Yêu cầu hệ thống của ASP.NET.• Windows 2000 Server or Advanced Server with Service Pack 2 .• Windows XP Professional or 64-Bit Edition• MDAC 2.7 for Data• Internet Information ServicesGhi chú: Khi tạo XML Web Sevices yêu cầu hệ thống giống như ASP.NET. Yêu cầu hệ thống cho client sử dụng XML Web Services là phải có Microsoft .NET Framework.Created by THÁI NGỌC DUY 1 MSDN based-written. 11/8/2012 2 Giới thiệu về ASP.NET2.1 ASP.NET là phiên bản kế tiếp của Active Server Page (ASP); nó là một nền phát triển ứng dụng Web hợp nhất, cung cấp nhiều dịch vụ cần thiết cho lập trình viên xây dựng các lớp ứng dụng chuyên nghiệp. Cú pháp ASP.NET tượng thích với cú pháp ASP, ngoài ra ASP.NET còn cung cấp một mô hình lập trình mới, nền tảng an toàn (secure), linh hoạt (scalable),và ổn định (stable). Sẽ cảm thấy dễ chịu khi nâng cấp ứng dụng ASP hiện có, bằng cách đưa vào các hàm ASP.NET cho chúng (lời của MS).2.2 ASP.NET là biên dịch, dựa trên môi trường .NET và có thể xây dựng bằng bất cứ ngôn ngữ nào tương thích .NET, bao gồm Visual Basic .NET, C#, and JScript .NET. Ngoài ra, toàn bộ thư viện .NET Framework có thể sử dụng với ứng dụng ASP.NET, lập trình viên tận dụng dễ dàng những lợi ích của các kỹ thuật được cung cấp, bao gồm quản lý môi trường thực thi ngôn ngữ cung (common language runtime), kiểu an toàn (type safety), kế thừa (inheritance), .v.v.2.3 ASP.NET được thiết kế làm việc với các trình soạn thảo WYSIWYG HTML đi kèm và các công cụ lập trình khác được đưa vào trong Microsoft Visual .NET. Tất cả các công cụ này không phài chỉ dùng để phát triển ứng dụng Web được dễ dàng, tuy nhiên có thể sử dụng một vài chức năng thông thường cho ứng dụng Web, bao gồm một GUI cho phép lập trình viên có thể dễ dàng đặt các server control vào trang web (web page), và một trình debug rất mạnh mẽ.2.4 Khi tạo một ứng dụng Web lập trình viên có thể chọn Web Forms hoặc Web Services, ngoài ra cũng có thể kết hợp hai loại này với nhau theo bất kỳ cách nào. Cà hai loại này có một nền cơ bản, cho phép sử dụng authentication schemes, cache frequently used data, hoặc chỉnh sửa cấu hình ứng dụng (customize application’s configuration). Tuy nhiên mỗi loại có một vài khả năng riêng:2.4.1 Web Forms cho phép xây dựng các form có nội dung phong phú (powerful forms) trên trang Web (Web Page). Khi xây dựng các form có thể sử dụng các server control để tạo các thành phần UI thông dụng và lập trình cho chúng một vài chức năng thông dụng, những control này cho phép xây dựng nhanh chóng các form chỉ dùng một lần (out of reusable built-in), hoặc các custom component, làm đơn giản mã của trang web (simplifying the code of a page).Created by THÁI NGỌC DUY 2 MSDN based-written. 11/8/2012 2.5 Một XML Web Service cung cấp điều kiện (mean) để truy cập các hàm ở server từ xa. Khi sử dụng Web Service, trong kinh doanh người ta có thể đưa ra các giao diện lập trình được cùng với dữ liệu, hoặc kết quả kinh doanh, những cái này có thể được nhận, hiệu chỉnh bởi các ứng dụng client và server. Web Server cho phép trao đổi dữ liệu theo hai kịch bản (scenarios) client-server và server-client, sử dụng chuẩn HTTP và thông diệp XML (XML messaging) để di chuyển dữ liệu qua tường lữa (firewall). XML Web Service có thể được viết bằng mọi ngôn ngữ lập trình, sử dụng mọi mô hình thành phần (component model), và có thể chạy trên bất kỳ hệ điều hành nào có thể truy cập XML Web Services.2.6 Mô hình (model) Web Forms và Web Services đều có tất cả các đặt tính của ASP.NET, đó là sức mạnh của .NET Framework và .NET Framework Common Lanuage Runtime. Các tính chất và cách sử dụng có thể được phát thảo như sau:2.6.1 Với người đã có kỹ năng lập trình ASP thì mô hình lập trình mới ASP.NET sẽ rất gần gũi. Tuy là như vậy nhưng ASP.NET đã có những thay đổi rất đặc biệt so với ASP, ASP.NET đã có cấu trúc hơn và hướng đối tượng. Thật đáng tiết, điều này có nghĩa là tất cả các trang ASP đã tồn tại đều phải được chỉnh sửa một vài nơi để có thể chạy dưới ASP.NET. Ngoài ra, Visual Basic và Visual Basic.NET đã có một sự khác biệt rất lớn, điều này có nghĩa là các trang được viết bằng Visual Basic Scripting Edition sẽ không thể chuyển trực tiếp sang ASP.NET, cần thiết phải có một số thay đổi nhất định để có thể chuyển sang ASP.NET. Để có thêm thông tin về vấn đề này hãy xem mục Migrating from ASP to ASP.NET trong MSDN. 2.6.2 Truy cập database là kỹ thuật thường được sử dụng để hiển thị dữ liệu trên trang Web của khách (visitor). Với ASP.NET, việc quản lý (manage) database sẽ khá dễ dàng thông qua code. Để có nhiều thông tin hơn về vấn đề này xin xem mục Accessing Data with ASP.NET.2.6.3 ASP.NET cung cấp một mô hình đơn giản để lập trình viên Web có thể làm việc như trên một ứng dụng thông thường. Lập trình viên có thể viết mã ngay trong file văn bản global.asax, hoặc là trong một class được biên dịch, được triễn khai như là một assembly, và có thể đưa vào các sự kiện mức ứng dụng. Ngoài ra người lập trình còn có thể mở rộng mô hình để thích hợp cho nhu cầu của từng ứng dụng. Để có nhiều thông tin hơn hãy xem mục ASP.NET Application trong MSDN.2.6.4 ASP.NET tạo ra những chương trình dễ sử dụng và những session-state facility gần gủi với lập trình viên ASP và sẳn sàng tương thích với tất cả các giao diện lập trình .NET Framework khác (other .NET Framework APIs). Để có nhiều thông tin hơn xin xem mục ASP.NET State Management trong MSDN.Created by THÁI NGỌC DUY 3 MSDN based-written. 11/8/2012 2.6.5 Đối với những lập trình viên cao cấp, người muốn sử dụng những giao diện lập trình mạnh như giao diện ISAPI (có trong ASP), ASP.NET giới thiệu hai giao diện: IhttpHandler và IhttpModule. Cài đặt giao diện IHttpHandler cho phép chương trình tương tác với các yêu cầu mức thấp (low-level request) và những dịch vụ hồi báo (response services) của IIS Web Services và cung cấp một vài chức năng giống với phần mở rộng ISAPI, nhưng với một mô hình lập trình rất đơn giản. Cài đặt giao diện IhttpModule cho phép lập trình viên đưa vào những customize event riêng trong mỗi yêu cầu (request) sinh ra trong ứng dụng. Để có nhiều thông tin hơn về vấn đề này hãy xem mục HTTP Runtime Support.2.6.6 ASP.NET có được những chất lượng thực thi được tìm thấy trong .NET Framework và thực thi ngôn ngữ chung (common language runtime). Ngoài ra ASP.NET đã được thiết kế cho mục đích nâng cao khả năng thực thi vượt qua ASP và tất cả các nền ứng dụng Web khác (Lời của MS).2.6.7 Tất cả mã của ASP.NET đều được biên dịch, việc này cho phép kết hợp dễ (early binding), kiễu mạnh (strong type), trình biên dịch tức thời (JIT) tương thích native code. Ngoài ra ASP.NET còn cung cấp catch mở rộng cho lập trình viên có thể tối ưu hóa ứng dụng trong một vài trường hợp.2.6.8 Tạo được các câu lệnh debug (custom debug statements) cho trang web, nó rất hữu ích trong khi giãi quyết sự cố (troubleshooting).2.6.9 Nền .NET Framework và ASP.NET cung cấp sơ đồ (schemes) chứng nhận(authentication) và cấp phép (authorization) cho ứng dụng Web, có thể dễ dàng xóa, thêm, hiệu chỉnh sơ đồ.2.6.10 Cấu hình ứng dụng ASP.NET được lưu trữ trong các tập tin XML chuẩn, hiệu chỉnh dễ dàng , và có thể mở rộng để phù hợp cho nhu cầu của từng ứng dụng Web.Created by THÁI NGỌC DUY 4 MSDN based-written. 11/8/2012 3 Ứng dụng ASP.NET.3.1 Khái quát.Một ứng dụng ASP.NET được định nghĩa là tất cả những tập tin, những điều khiển (handler), những module và mã thực thi (executable code) có thể được gọi từ một cây thư mục ảo (virtual directory) trên ứng dụng Web Server. Có thể sử dụng mọi mô hình lập trình ASP.NET (ASP.NET programming models) trong ứng dụng. Tất cả chúng phải cùng tồn tại trong một cấu trúc thư mục ảo riêng lẻ.3.2 Tập tin Global.asax.3.2.1 Tập tin Global.asax, còn được hiểu như tập tin ứng dụng ASP.NET, là một tập tin tùy chọn chứa mã để đáp ứng (responding) những sự kiện mức ứng dụng (application-level events) được phát ra bởi ASP.NET hoặc những module HTTP. Tập tin Global.asax được đặt tại thư mục gốc (root directory) của một ứng dụng ASP.NET. Khi ứng dụng chạy (run), tập tin Global.asax được phân tích và biên dịch thành một lớp class .NET Framework dẫn xuất từ lớp HttpApplication. Bản thân tập tin Global.asax được cấu hình để từ chối bất kỳ yêu cầu URL trực tiếp nào; người sử dụng bên ngoài (external users) không thể download hoặc xem mã được viết bên trong nó.Created by THÁI NGỌC DUY 5 MSDN based-written. 11/8/2012 3.2.2 Tập tin Global.asax của ASP.NET có thể cùng tồn tại với tập tin Global.asa của ASP. Có thể tạo tập tin Global.asax bằng trình thiết kế WYSIWYG, bằng Notepad, hoặc như là một lớp được biên dịch thành assambly đặt trong thư mục \bin là thư mục con của thư mục ứng dụng.3.2.3 Tập tin Global.asax là một tùy chọn, nếu không định nghĩa tập tin Global.asax thì framework (ASP.NET page framework) sẽ xem như (assumes) không có bất kỳ một event application handler và event session handler nào được định nghĩa.3.2.4 Nếu nội dung tập tin Global.asax bị thay đổi trong lúc ứng dụng ASP.NET đang hoạt động thì ASP.NET Page Framework sẽ tự động dò tìm sự thay đổi này. Nó sẽ thực hiện xong tất cả những yêu cầu hiện tại, gởi sự kiện Application_OnEnd đến tất cả những bộ lắng nghe (listeners), và khởi động lại miền ứng dụng (application domain). Trong thực tế, ứng dụng này được khởi động lại, đóng tất cả những browse sesstion, xóa (flushing) tất cả những thông tin trạng thái. Khi có yêu cầu kế tiếp đến từ browse, ASP.NET page framework sẽ phân tích và biên dịch lại tập tin Global.asax thành đối tượng trong bộ nhớ và phát ra sự kiện Application_OnStart.3.3 Làm việc với thực thể HttpApplication. Trong suốt thời gian sống của ứng dụng, ASP.NET duy trùy một số thực thể Global.asax chung dẫn xuất từ lớp HttpApplication. Khi ứng dụng ASP.NET nhận một yêu cầu HTTP thì ASP.NET page framework sẽ chỉ định một trong những đối tượng này để xử lý yêu cầu. Mỗi thực thể HttpApplication chịu trách nhiệm quản lý suốt thời gian sống của yêu cầu mà nó được chỉ định quản lý, và thực thể chỉ được sử dụng lại (reused) cho yêu cầu khác sau khi nó đã xử lý xong yêu cầu hiện tại. Lớp HttpApplication cho phép lập trình (overriding) truy xuất (access) các phương thức (method), cũng như những sự kiện Application_OnStart và Application_OnEnd. Ngoài ra, nó còn cho phép truy xuất đến bất kỳ sự kiện nào được đưa ra (exposed) bởi các module HTTP.3.3.1 Lập trình lại (Overriding) phương thức Init và Dispose.3.3.1.1 Phương thức HttpApplication.Init được gọi ngay sau khi một thực thể (instance) của lớp HttpApplication được tạo (sau khi tất cả các module quản lý sự kiện đã được add vào). Có thể sử dụng phương thức này để tạo và cấu hình bất kỳ đối tượng nào được sử dụng xuyên suốt (across) trong tất cả các thao tác xử lý sự kiện. Ví dụ:<script language="C#" runat="server"> public override void Init() { // đặt các đoạn mã thật sự cần thiết ở đây. }</script>Chú ý: <script language="C#" runat="server"> diễn tả: sử dụng ngôn ngữ C# làm ngôn ngữ script(language="C#"), nơi thực thi script là server (runat="server"). Ví dụ phía trên viết để đặt vào tập tin .aspx. Created by THÁI NGỌC DUY 6 MSDN based-written. 11/8/2012 Để tận dụng sức mạnh của IDE và phương pháp lập trình mới, khi lập trình ta sẽ không lập trình lại phương thức Init() trong tập tin Global.asax, thay vào đó ta sẽ làm ngay trong lớp Global được dẫn xuất từ lớp HttpApplication. Các ví dụ minh họa cho việc overriding các phương thức sẽ được thực hiện theo phương pháp này.3.3.1.2 Phương thức Init không giống với sự kiện Application_OnStart, bởi ví nó luôn luôn được gọi trong tất cả các thực thể HttpApplication trong phạm vi một ứng dụng. Sự kiện Application_OnStart chỉ được phát ra một lần trong suốt cuộc sống của ứng dụng, khi thực thể (instance) HttpApplication đầu tiên được tạo. Chỉ sử dụng sự kiện Application_OnStart để tạo và hiệu chỉnh (modify) những trạng thái (state) được chia sẽ bởi tất cả những thực thể pipeline, như là đối tượng ApplicationState. Không sử dụng nó để tạo các biến cục bộ, bởi vì biến cục bộ không được chia sẽ bởi nhiều thực thể HttpApplication.Phương thức HttpApplication.Dispose được gọi trực tiếp trước khi một thực thể của lớp HttpApplication được hũy. Có thể sử dụng nó để xóa bất kỳ local resource nào.3.3.1.3 Phương thức Dispose không giống với sự kiện Application_OnEnd, bởi vì nó luôn luôn được gọi trong tất cả các thực thể của lớp HttpApplication trong phạm vi một ứng dụng. Sự kiện Application_OnEnd chỉ được phát ra duy nhất một lần trong suốt cuộc sống của ứng dụng, khi thực thể cuối cùng của lớp HttpApplication được hũy (torn down). Chỉ sử dụng sự kiện Application_OnEnd để xóa những trạng thái hoặc những resource được chia sẽ bới tất cả các thực thể pipeline, như là đối tượng ApplicationState. Không sử dụng nó để xóa các biến cục bộ, bởi vì biến cục bộ không được chia sẽ sử dụng bởi nhiều thực thể HttpApplication.3.3.1.4 Không được sử dụng các thuộc tính Request, Response, Sesstion của thực thể HttpApplication bên trong các hàm Init và Dispose của một sự thực thi yêu cầu.3.3.1.5 Ví dụ bên dưới chỉ ra làm thế nào để override hai phương thức (method) chu kỳ sống được cung cấp bởi lơp cơ bản HttpApplication.<script language="C#" runat=server> public override void Init() { // Init override code goes here. } public override void Dispose() { // Init override code goes here. }</script>Chú ý: Ví dụ phía trên viết để đặt vào tập tin .aspx. Để tận dụng sức mạnh của IDE và phương pháp phát triển ứng dụng Web mới, khi lập trình ta sẽ không thực hiện overriding các phương thức trong tập tin Global.asax thay vào đó ta sẽ làm công việc này ngay trong lớp Global , là một lớp được dẫn xuất từ lớp HttpApplication.Created by THÁI NGỌC DUY 7 MSDN based-written. 11/8/2012 3.3.2 Quản lý những sự kiện của thực thể HttpApplication.Có thể sử dụng tập tin Global.asax để xử lý bất kỳ sự kiện nào được đưa ra (exposed) bởi lớp cơ bản HttpApplication. Mẫu sau đây được cung cấp để thực hiện công việc này:Application_EventName(AppropriateEventArgumentSignature)Ví dụ: đoạn mã sau đây giải quyết các sự kiện OnStart, BeginRequest, và OnEnd cho một ứng dụng ASP.NET, phải đặt đoạn mã vào trong tập tin Global.asax, đoạn mã trong giống như sau:<Script language="C#" runat="server"> public void Application_OnStart() { // Application start-up code goes here. } public void Application_BeginRequest() { // Application code for each request could go here. } public void Application_OnEnd() { // Application clean-up code goes here. }</script>Chú ý: Ví dụ phía trên viết để đặt vào tập tin .aspx. Để tận dụng sức mạnh của IDE và phương pháp phát triển ứng dụng Web mới, khi lập trình ta sẽ không thực hiện overriding các phương thức trong tập tin Global.asax thay vào đó ta sẽ làm công việc này ngay trong lớp Global , là một lớp được dẫn xuất từ lớp HttpApplication.3.4 Sử dụng các Module trong tập tin Global.asax.3.4.1 Khái quát.ASP.NET cung cấp những module khác nhau và riêng biệt trong mỗi yêu cầu và những sự kiện được đưa ra (exposed), có thể quản lý (handle) các module này ngay trong tập tin Global.asax hoặc ngay trong một lớp được dẫn xuất từ lớp HttpApplication . Có thể sửa đổi (custmize) và mở rộng các module này, hoặc thậm chí có thể tạo một module mới để xử lý thông tin về các yêu cầu HTTP. Ví dụ, có thể tạo một module output cache để cài đặt (implements) output-caching làm việc (behaviors) cho toàn bộ ứng dụng.Tất cả các module, cả những module tự tạo và những module chuẩn được cung cấp bởi ASP.NET, đều phải cài đặt giao diện IHttpModule . Chỉ cần các module được đăng ký với ứng dụng là có thể dễ dàng tương tác (interact) với các yêu cầu HTTP đi vào ứng dụng.3.4.2 Quản lý HTTP Module Events.Có thể sử dụng các module trong tập tin Global.asax để quản lý bất kỳ sự kiện nào được phát sinh trong các yêu cầu HTTP. Ví dụ, có thể tạo một custom authentication module cho ứng dụng Web định xây dựng, trong module có xử lý sự kiện OnAuthenticateRequest để chứng thực người dùng. Lệnh viết để điều khiển sự kiện phát sinh (exposed) bởi một HTTP module phải phù hợp với mẫu được chỉ rỏ bên dưới.Created by THÁI NGỌC DUY 8 MSDN based-written. 11/8/2012 FriendlyModuleName_EventName(AppropriateEventArgumentSignature)Ví dụ, nếu muốn đưa code để quản lý sự kiện bắt đầu và kết thúc của sesstion, cũng như cho sự kiện OnAuthenticateRequest, nó sẽ trong giống như bên dưới.<Script language="C#" runat="server"> void Session_OnStart() { // Session start-up code goes here. } void Session_OnEnd() { // Session clean-up code goes here. } void Application_OnAuthenticateRequest(Object Source, EventArgs Details) { // Authentication code goes here. }</script>Chú ý: Ví dụ phía trên viết để đặt vào tập tin .aspx. Để tận dụng sức mạnh của IDE và phương pháp phát triển ứng dụng Web mới, khi lập trình ta sẽ không thực hiện overriding các phương thức trong tập tin Global.asax thay vào đó ta sẽ làm công việc này ngay trong lớp Global , là một lớp được dẫn xuất từ lớp HttpApplication.Created by THÁI NGỌC DUY 9 MSDN based-written. 11/8/2012 3.5 Tổng kết.3.5.1 Ứng dụng ASP.NET là toàn bộ những tập tin nằm trong một hệ thống thư mục (ảo) phân cấp, và gồm tất cả các đối tượng được tạo ra bởi các tập tin này.3.5.2 Ứng dụng ASP.NET được quản lý bởi một lớp được dẫn xuất từ lớp HttpApplication. Trong lúc chạy hệ thống ASP.NET duy trì một hoặc nhiều thực thể của lớp này (được tạo và quản lý bởi hệ thống ASP.NET) . Có thể có nhiều yêu cầu HTTP được xử lý đồng thời. Tuy nhiên, tại mỗi thời điểm mỗi thực thể (instance) chỉ xử lý cho một yêu cầu HTTP.3.5.3 Có thể lập trình lại (overriding) phương thức Init() và Dispose().3.5.4 Có thể viết mã để giải quyết các sự kiện mức ứng dụng (Application).3.5.5 Có thể viết mã để xử lý các yêu cầu mức module (sesstion).3.5.6 Không cần tập tin Global.asax ứng dụng ASP.NET vẫn hoạt động bình thường.3.5.7 Tập tin Global.asa vẫn có thể tồn tại đồng thời với tập tin Global.asax.3.5.8 Sự kiện Start() (Application_OnStart) chỉ được phát ra một lần duy nhất khi thực thể đầu tiên quản lý ứng dụng ,thực thể của lớp dẫn xuất từ lớp HttpApplication, được tạo.3.5.9 Sự kiện End() (Application_OnEnd) chỉ được phát ra duy nhất một lần khi thực thể cuối cùng quản lý ứng dụng, thực thể của lớp dẫn xuất từ lớp HttpApplication, bị hũy bỏ.3.5.10 Phương thức Application.Init() được gọi mỗi lần một thực thể quản lý ứng dụng, thực thể của lớp dẫn xuất từ lớp HttpApplication ,được tạo ra.3.5.11 Phương thức Application.Dispose() được gọi mỗi khi một thực thể quản lý ứng dụng bị hũy bỏ.3.5.12 Mỗi khi có một yêu cầu HTTP (HTTP Request) các sử kiện sẽ xảy ra lần lượt: 3.5.12.1 BeginRequest()(Application_BeginRequest): bắt đầu yêu câu HTTP.3.5.12.2 AuthenticateRequest() (Application_AuthenticateRequest): chứng thực yêu cầu.3.5.12.3 EndRequest() (Application_EndRequest): đã xử lý xong yêu cầu.3.5.13 Khi một client kết nối vào Server sự kiện Start() (Session_Start) sẽ phát ra.3.5.14 Khi client ngắt kết nối với Server ngoài khoảng thời gian timeout sự kiện End()(Session_End) sẽ được phát ra.3.5.15 Sự kiện Error() (Application_Error) được phát ra khi xuất hiện một lổi không được quản lý (unhandled exception).3.6 Tham khảo lớp HttpApplication .Created by THÁI NGỌC DUY 10 MSDN based-written. 11/8/2012 [...]... IHttpModule 4 Cấu hình ASP.NET 4.1 Khái qúat - - Đặc điểm hệ thống cấu hình của ASP.NET là một thành phần có thể mở rộng được, cho phép định nghĩa những thiết lập hệ thống khi triễn khai ứng dụng ASP.NET lần đầu tiên, sau đó có thể thêm, sửa lại những thiết lập cấu hình tại bất cứ thời điểm nào với một sự tác động nhỏ trên các ứng dụng Web và các Server Hệ thống cấu hình của ASP.NET mang lại các lợi... cookieless="false" timeout="10" /> 5 Truy cập những thiết lập cấu hình của ASP.NET Có thể truy cập vào những thiết lập cấu hình công cộng (public) của ASP.NET từ một ứng dụng ASP.NET bằng cách sử dụng những phương thức tỉnh nội (intrinsic static methods) được đưa ra (exposed) bởi ASP.NET Ví dụ, để đọc giá trị của thuộc tính cookieless trong section có thể sử dụng... hình IIS ngăn cản truy cập trực tiếp từ Browse đến các tập tin cấu hình Mã lỗi 403 sẽ được trã về cho bất kỳ sự truy cập trực tiếp nào 4.2 Định dạng của tập tin cấu hình trong ASP.NET - - Thông tin cấu hình cho nguồn lực ASP.NET (ASP.NET resource) chứa trong một tập hợp các tập tin cấu hình, mỗi tập tin đều được đặt tên là Web.config Mỗi tập tin cấu hình chứa một hệ thống cấp bậc các tag XML và các subtag... cung cấp bởi ASP.NET và thiết lập cấu hình cho toàn Web Server Trong khi chạy, ASP.NET sử dụng thông tin cấu hình được cung cấp trong cấu trúc phân cấp của thư mục ảo để tính ra một thiết lập tổng hợp cho mỗi nguồn lực (resource) duy nhất Chý ý, hệ thống phân cấu thư mục ở đây là hệ thống thư mục ảo của IIS, không liên quan đến hệ thống thư mục thường được quản lý bởi hệ điều hành ASP.NET tự động... services within the scope of the configuration file Allows access to a resource Specifies ASP.NET compilation processing directives Configures ASP.NET authentication support Configures ASP.NET authorization support Configures the settings for the browser capabilities component Allows pattern matching... aliases Contains all the compilation settings used by ASP.NET Defines a new compiler option Specifies the compilers that the ASP.NET application supports Allows optional definition of name and password credentials within the configuration file Defines custom error messages for an ASP.NET application and the pages that a browser is redirected... không được tính với khối trong tập tin cấu hình Hệ thống cấu hình của ASP.NET cho phép mở rộng, có thể thêm vào các thông số cấu hình (configuration parameters), và tạo các vùng điều khiểnc cấu hình (configuration section handlers) để xử lý chúng Created by THÁI NGỌC DUY MSDN based-written 11 11/8/2012 ASP.NET bảo vệ các tập tin cấu hình từ sự truy cập từ bên ngoài bằng cách cấu hình... key_one is " + config["key_one"] + ""); Response.Write("The value of key_two is " + config["key_two"] + ""); 7 Sơ đồ thiết lập cấu hình của ASP.NET Sơ đồ cấu hình section (configuration section schema) chứa các đơn vị (element) để điều khiển ứng dụng ASP.NET sẽ hoạt động như thế nào Sơ đồ tổng quát như sau: (Mọi người tạm xem nha, Hồi sau sẽ có tiếng việt đầy đủ) ... to redirect to if the page requires authentication and the user has not signed on with Microsoft Passport authentication Configures the ASP.NET process model settings on Internet Information Services (IIS) Web server systems Specifies the transmission protocols that ASP.NET can use to decrypt data sent from a client browser in the HTTP request Removes a reference to an assembly Removes an alias for... Element for for for Created by THÁI NGỌC DUY MSDN based-written Description Chỉ đơn vị cấu hình cao nhất cho ASP.NET configuration section Thêm một tham chiếu đến assembly được sử dụng trong suốt qúa trình biên dịch của một nguồn lực động (dynamic resource) Adds an alias for a specific user agent to an internal . lập trình ASP thì mô hình lập trình mới ASP. NET sẽ rất gần gũi. Tuy là như vậy nhưng ASP. NET đã có những thay đổi rất đặc biệt so với ASP, ASP. NET đã có. tương thích .NET, bao gồm Visual Basic .NET, C#, and JScript .NET. Ngoài ra, toàn bộ thư viện .NET Framework có thể sử dụng với ứng dụng ASP. NET, lập trình