Khi nào nên sử dụng và không sử dụng tệp global.asax trong ứng dụng asp.net? Tôi nghe nói rằng bạn nên sử dụng tập tin đó chỉ với một nhúm.Sử dụng ASP.NET global.asax
Trả lời
File Global.asax được sử dụng để thực hiện các ứng dụng và trình độ phiên các sự kiện, chẳng hạn như:
Application_Init - kích hoạt khi một ứng dụng đầu tiên khởi
Application_Start - phát sinh khi ứng dụng đầu tiên bắt đầu
Application_End - sự kiện cuối cùng được kích hoạt khi ứng dụng kết thúc hoặc ra ngoài
Session_Start - được kích hoạt lần đầu tiên khi phiên của người dùng được bắt đầu
Application_BeginRequest - bắn với mỗi yêu cầu mới
Application_EndRequest - phát sinh khi ứng dụng kết thúc
Application_AuthenticateRequest - sự kiện này chỉ ra rằng một yêu cầu đã sẵn sàng để được chứng thực.
Application_Error - kích hoạt khi một lỗi unhandled xảy ra trong ứng dụng
Session_End - bị sa thải bất cứ khi nào một phiên người dùng duy nhất kết thúc hoặc thời gian ra.
Việc triển khai các trình xử lý này đều có thể là sử dụng hợp pháp của global.asax. Ví dụ, trình xử lý sự kiện Application_Error thường ghi lại bất kỳ lỗi toàn cục nào và trình xử lý sự kiện Application_End thường chứa logic dọn dẹp ứng dụng. Đây là những cách sử dụng tốt của Global.asax. Sử dụng chúng bất cứ khi nào cần thiết và đừng sợ nếu tập tin phát triển.
Tuy nhiên, tôi đã thấy các trường hợp nhà phát triển đã thêm tất cả các loại phương pháp toàn cầu vào global.asax thực sự không được chứng minh. Ví dụ, giữ logic nghiệp vụ liên quan đến một đối tượng miền cụ thể bên trong đối tượng chính nó chứ không phải trong global.asax. Nếu bạn tìm thấy các phương thức trong Global.asax, không nên có refactor công việc vào đúng vị trí.
global.asax là một HTTPModule. Tất cả các yêu cầu đều đi qua global.asax và các mô-đun khác trước khi chúng tới trình xử lý trang của bạn. Sử dụng tính năng này để thực hiện một số tác vụ nhất định đối với yêu cầu hoặc phản hồi của bạn, như định tuyến url, xử lý lỗi toàn cục, v.v.
Nếu bạn cần điều gì đó đặc biệt xảy ra trên Ứng dụng bắt đầu/kết thúc hoặc bắt đầu/kết thúc xử lý trên toàn cầu bạn có thể sử dụng nó để ánh xạ các sự kiện trong vòng lặp Apllication và Session life.
- 1. Asp.net System.Web.HttpContext.Current.Session null trong global.asax
- 2. ASP.NET MVC không gọi global.asax 'EndRequest
- 3. ASP.NET: Truy cập phiên biến trong global.asax
- 4. sử dụng PreSendRequestHeaders Sự kiện trong global.asax
- 5. Sử dụng dấu vết trong Global.asax
- 6. Thêm tuyến hơn để ASP.NET MVC Global.asax
- 7. Ủy quyền kiểm tra bằng cách sử dụng Global.asax
- 8. ASP.NET MVC Lỗi tùy chỉnh xử lý Application_Error Global.asax?
- 9. lựa chọn thay thế nào để sử dụng global.asax?
- 10. tương đương Global.asax Application_Start khi sử dụng WS trong IIS7
- 11. Khi nào sử dụng Application_Start vs Init trong Global.asax?
- 12. global.asax breakpoint không trúng
- 13. ngoại lệ Xử lý trong global.asax ASP.NET MVC
- 14. Bối rối trên global.asax?
- 15. global.asax Application_AcquireRequestState vs. Application_BeginRequest
- 16. IIS Recycle Global.asax
- 17. Cách truy cập thành viên tĩnh Global.asax?
- 18. lỗi bắt trong Global.asax
- 19. Global.asax trong Umbraco 6
- 20. Truy cập RequestContext từ global.asax
- 21. Chúng tôi có thể kiểm tra đơn vị global.asax trong asp.net không?
- 22. Tôi có thể sử dụng Server.MapPath() từ global.asax như thế nào?
- 23. Viết lại URL Không hoạt động bằng cách sử dụng Global.asax
- 24. ASP.NET customErrors mode = với RemoteOnly và global.asax ngoại lệ xử lý
- 25. ASP.NET: Có thể gọi Công việc không đồng bộ trong Global.asax không?
- 26. Sử dụng DisplayNameAttribute trong ASP.NET
- 27. Sử dụng Underscore.js với ASP.NET
- 28. Sử dụng jQuery trong ASP.NET
- 29. Sử dụng System.Timers.Timer trong asp.net
- 30. Sử dụng dropzone.js trong asp.net
Bạn nghe thấy điều này ở đâu? Và lý do là gì? – Codesleuth
Tôi không nhớ chính xác, nhưng tôi nghe nói rằng ai đó đã nói điều này. – Azat