2012-06-15 32 views
121

tôi muốn biết ý nghĩa của<module runAllManagedModulesForAllRequests = "true" /> Ý nghĩa

<modules runAllManagedModulesForAllRequests="true" /> 

Tôi đang sử dụng IIS 7.5 là gì và tôi có một ứng dụng web đơn giản. Tôi có cần phải viết điều này trong tập tin web.config của tôi không. Tôi cũng đã viết vài trình xử lý http cho cuộc gọi jquery ajax. Tôi đang sử dụng xác thực mẫu và asp.net 4.0.

Làm cách nào để xác định mô-đun nào tôi phải chạy và mô-đun nào không hoạt động?

Trả lời

108

Modules Điều kiện tiên quyết:

Động cơ lõi IIS sử dụng điều kiện tiên quyết để xác định khi nào để cho phép một module cụ thể. Lý do hiệu suất, ví dụ, có thể xác định rằng bạn chỉ muốn thực hiện các mô-đun được quản lý cho các yêu cầu cũng đi đến một trình xử lý được quản lý. Điều kiện tiên quyết trong ví dụ sau (precondition="managedHandler") chỉ cho phép các hình thức mô-đun xác thực cho các yêu cầu đó cũng được xử lý bởi một handler quản lý, chẳng hạn như yêu cầu .aspx hoặc các tập tin .asmx:

<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" /> 

Nếu bạn loại bỏ các thuộc tính precondition="managedHandler" , Xác thực biểu mẫu cũng áp dụng cho nội dung không được xử lý bởi trình xử lý được quản lý, chẳng hạn như .html, .jpg, .doc, nhưng cũng cho các tiện ích mở rộng ASP (.asp) hoặc PHP (.php) cổ điển. Xem "How to Take Advantage of IIS Integrated Pipeline" để biết ví dụ về cách bật mô-đun ASP.NET để chạy cho tất cả nội dung.

Bạn cũng có thể sử dụng phím tắt để cho phép tất cả các mô-đun được quản lý (ASP.NET) chạy cho tất cả các yêu cầu trong ứng dụng của bạn, bất kể điều kiện tiên quyết "managedHandler".

Để kích hoạt tất cả các module quản lý để chạy cho tất cả các yêu cầu mà không cần cấu hình mỗi mục module để loại bỏ các "managedHandler" điều kiện tiên quyết, sử dụng runAllManagedModulesForAllRequests tài sản trong <modules> phần:

<modules runAllManagedModulesForAllRequests="true" />  

Khi bạn sử dụng tài sản này , điều kiện tiên quyết "managedHandler" không có hiệu lực và tất cả các mô-đun được quản lý sẽ chạy cho tất cả các yêu cầu.

sao chép từ IIS Modules Overview: Preconditions

+0

là nó tốt để chạy tất cả các mô hình cho tất cả các yêu cầu hoặc tôi sẽ cụ thể hơn ở đằng kia. Điều này có ảnh hưởng đến tốc độ của ứng dụng không? –

+2

Có vấn đề về hiệu năng. Bạn nên sử dụng điều kiện tiên quyết để thay thế. –

+3

thì làm thế nào tôi nên quyết định mô-đun nào tôi phải sử dụng và cái nào thì không. –

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