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?
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'. –
@ 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
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. –