2010-12-31 35 views
46

Tôi đã đọc các bài đăng và câu hỏi khác nhau về việc sử dụng runAllManagedModulesForAllRequests trong phần modules của <system.WebServer> và tôi lo ngại rằng tôi đang sử dụng cài đặt này không chính xác.Cách sử dụng chính xác của "runAllManagedModulesForAllRequests" trong ASP.NET MVC2/3 là gì?

Tất cả các ứng dụng ASP.NET MVC của tôi được viết bằng .NET Framework 4.0 và MVC2, cộng với chúng tôi có bản beta của một ứng dụng sử dụng MVC3.

Các ứng dụng này được triển khai cho các máy chủ chạy Windows 2008R2/IIS7.5. Các trang web được cấu hình để chạy trong các ứng dụng tích hợp Pipeline/.NET 4.0.

Nếu tôi đặt runAllManagedModulesForAllRequests="false" thì tôi nhận được Lỗi HTTP 403.14 - Lỗi bị cấm từ IIS. Nếu tôi đặt điều này thành sự thật thì tất cả đều tốt.

Tuy nhiên this article cho thấy đây là một điều xấu để làm và cách khắc phục:

Không sử dụng runAllManagedModulesForAllRequests = "true" khi nhận định tuyến MVC của bạn để làm việc

Có thực sự xấu, tôi có nên làm theo lời khuyên này không?

+1

Microsoft ra mắt với một hotfix (http://support.microsoft.com/kb/980368) nếu bạn không muốn đặt 'runAllManagedModulesForAllRequests'. –

+0

@ Ek0nomik - Vâng ... và tôi biết tất cả về hotfix đó :) - http://stackoverflow.com/questions/5078459, http://stackoverflow.com/questions/5080837. Tôi thậm chí có một KB nêu ra về các vấn đề mà nó gây ra: http://support.microsoft.com/kb/2620604 – Kev

+0

Thú vị. Cảm ơn bạn đã gửi cùng nghiên cứu của mình. Tôi không bao giờ sử dụng Web.config để thiết lập trang ủy quyền cụ thể (tôi chỉ sử dụng thuộc tính ủy quyền), vì vậy tôi đã không có bất kỳ vấn đề với các hotfix. –

Trả lời

11

Tùy thuộc vào lưu lượng truy cập trang web tệ như thế nào, nếu bạn đang làm việc trên trang web lưu lượng truy cập cao, tôi muốn không sử dụng và xóa các mô-đun không cần thiết.

+0

Đã nghiền ngẫm điều này trong một ngày bạn đã đúng. May mắn thay hầu hết những thứ tôi đang làm hiện tại không thu hút một lượng lớn phút giao thông. – Kev

Các vấn đề liên quan