Những ai học về WEB ASP.Net thì chắc sẽ biết đến hai tập tin này Global.asax và web.config đây là hai tập tin quản lý và cấu hình ứng dụng trong ASP.Net hôm nay chúng ta sẽ tìm hiểu sơ lược về vấn đề này. Tập tin Global.asax trong ASP.NetTập tin Global.asax được dùng để:
Tập tin Global.asax trong Asp.net Cấu trúc tập tin Global.asax <!-- <%@ Application Language="C#" %> <script runat="server"> void Application_Start(object sender, EventArgs e) { // Code that runs on application startup } void Application_End(object sender, EventArgs e) { // Code that runs on application shutdown } void Application_Error(object sender, EventArgs e) { // Code that runs when an unhandled error occurs } void Session_Start(object sender, EventArgs e) { // Code that runs when a new session is started } void Session_End(object sender, EventArgs e) { // Code that runs when a session ends. // Note: The Session_End event is raised only when the sessionstate mode // is set to InProc in the Web.config file. If session mode is set to StateServer // or SQLServer, the event is not raised. } </script> --> Các sự kiện trong tập tin Global.asaxApplication_Start: Chỉ xảy ra một lần đầu tiên khi bất kỳ trang nào trong ứng dụng được gọi. Ứng dụng xây dựng tính năng đếm số người online, truy cập trong website. void Application_Start(object sender, EventArgs e) { // Khai báo đếm số người truy cập Application["So_luot_truy_cap"] = 0 Application["So_nguoi_online"] = 0 } Session_Start: Xảy ra khi có một người dùng mới yêu cầu đến bất kỳ trang aspx của ứng dụng. Khi Session_Start xảy ra, một giá trị duy nhất (SessionID) sẽ được tạo cho người dùng, và giá trị này được sử dụng để quản lý người dùng trong quá trình làm việc với ứng dụng. <!-- void Session_Start(object sender, EventArgs e) { // Tăng giá trị biến Application Application["So_luot_truy_cap"] = (int)Application["So_luot_truy_cap"] + 1; Application["So_nguoi_online"] = (int)Application["So_nguoi_online"] + 1; } --> Application_BeginRequest: Xảy ra khi mỗi khi có Postback về Server. <!-- void Session_End(object sender, EventArgs e) { // Giảm giá trị biến Application Application["So_nguoi_online"] = (int)Application["So_nguoi_online"] - 1; } --> Qua tập tin Global.asax bạn có thể xây dựng được ứng dụng đếm số người truy cập và người online trong website chúng ta. Ở người online thì dựa vào Session_Start và Session_End mà giảm tăng rồi xuất biến Application ra ngoài trang chủ còn về số lược truy cập thì cứ cộng dồn vào do đó bạn phải ghi vào file text hay vào trong CSDL số lượng đó để biến tăng dần lên theo ngày tháng! File web.config trong ASP.NetWeb.config là một tập tin văn bản được sử dụng để lưu trữ thông tin cấu hình của một ứng dụng, được tự động tạo ra khi chúng ta tạo mới ứng dụng web. Tập tin web.config được viết theo định dạng XML. Web.config được tạo kế thừa các giá trị từ tập tin Windows\Microsoft. NET\Framework\[Framework Version]\CONFIG\machine.config Tập tin cấu hình ứng dụng Web.config: <!-- <?xml version="1.0"?> <configuration> <configSections> ........... </configSections> <system.web> .......... </system.web> </configuration> --> Các cấu hình mặc định trong file web.config1. Set ngôn ngữ và Bật/tắt debug <!-- <compilation debug="true"/> -->
2. Cấu hình về lỗi trong file web.config <!-- <customErrors mode="RemoteOnly"/> --> Đây là một cấu hình khá cần thiết cho ứng dụng Web. Hiệu chỉnh cấu hình này cho phép chúng ta quản lý việc xử lý lỗi khi có lỗi phát sinh trong ứng dụng.
<!-- <customErrors mode="RemoteOnly" defaultRedirect="ThongBaoLoi.aspx"/> -->
Có qui định trang thông báo lỗi qua defaultRedirect: Hiển thị trang thông báo lỗi. Tùy chọn mode là on se Redirect sang trang Lỗi Không có thuộc tính defaultRedirect: Hiển thị trang báo lỗi nhưng không có hiển thị mã lỗi và mô tả lỗi. Thông báo lỗi chi tiết khi không khai báo trong web config 3. sessionState <!-- <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1; Trusted_Connection=yes" cookieless="false" timeout="20" /> -->
Kết luận: Đây chỉ là vài phần cơ bản, còn rất nhiều thư nữa trong hai file này, thất ra thì trong bài Login not Database chúng ta đã có sử dụng file web.config này rồi hôm nay làm rõ hơn một tí! OK, vậy là xong bài này chúng ta có thể xây dựng tính năng hiển thị số người truy cập và số người online trong web asp.net ngoài ra còn biết cách cấu hình cơ bản trong file web.config! Chúc thành công! |