Tôi đã tạo một ứng dụng web nơi tôi đang sử dụng một mô-đun chuyển hướng mà không có url "www" (http://example.com/) với url "www" (http://www.example.com/). Nhưng như tôi đang trên máy chủ lưu trữ được chia sẻ, nơi tôi không có quyền thực hiện một HttpModule, sau đó tôi đã thử cùng một mã mô-đun với tệp Global.asax. Điều đó hoạt động!Sự khác nhau về hiệu suất giữa HttpModule và Global.aspx là gì?
Tôi đã sử dụng sự kiện sau (Application_BeginRequest()) để triển khai chức năng HttpModule của tôi.
void Application_BeginRequest()
{
//module code
}
Mô-đun và ứng dụng hoạt động tốt và chính xác từ tệp Global.asax Nhưng tôi lo lắng về hiệu suất.
Tại sao chúng tôi sử dụng HTTPModules trong asp.net Nếu chúng tôi có thể triển khai cùng một tệp Global.asax. Có sự khác biệt hiệu suất ay giữa cả hai. Hoặc bất kỳ sự khác biệt mà tôi cần phải lo lắng về khi sử dụng tập tin Global.asax thay vì HttpModule ??
Vui lòng giải thích!
Tôi cũng thích HTTPModules hơn Global.asax nhưng trên máy chủ lưu trữ được chia sẻ của tôi khi tôi cố gắng triển khai HttpModule thì nó mang lại cho tôi "500 lỗi máy chủ tạm thời". Đó là lý do tại sao tôi đang đi với Global.asax – Prashant
Một điều nữa, tôi không nhận được "Đặc biệt là nếu bạn làm cho phần mềm thu nhỏ bọc, nơi khách hàng có thể thay thế global.asax của bạn với riêng của họ." dòng câu trả lời của bạn? "Phần mềm bao bọc" là gì và làm cách nào để khách hàng có thể thay thế tệp global.asax? – Prashant
Khi chạy, Global.asax được phân tích và biên dịch thành một lớp .NET Framework được tạo động bắt nguồn từ lớp cơ sở HttpApplication. Nếu bạn bán gói phần mềm (thu nhỏ gói), khách hàng có thể thay đổi global.asax –