Cái nào được ưu tiên, maxRequestLpm hoặc max ALLowedContentLpm?


127

Trong khi thay đổi kích thước tệp tối đa được phép để tải lên, tôi đã vấp phải hai cài đặt đó.

Trong sytem.web, bạn có nút thời gian chạy http với maxRequestLpm . Trong system.webServer, bạn có requestLimits với max ALLowedContentL wavel .

Bây giờ cái nào được ưu tiên hơn cái kia? Và chúng ta có cần thiết lập cả hai hoặc là cái cuối cùng (cái cuối cùng cho IIS7) không?

Câu trả lời:


196

maxRequestLpm chỉ ra kích thước yêu cầu tối đa được ASP.NET hỗ trợ, trong khi max ALLowedContentLpm chỉ định độ dài tối đa của nội dung trong yêu cầu được IIS hỗ trợ. Vì vậy, bạn cần đặt cả hai để tải lên các tệp lớn: tệp nhỏ hơn "được ưu tiên".

(Tôi đã chọn cái này từ http://forums.iis.net/t/1169846.aspx - tín dụng khi đến hạn.)

Bạn có thể đặt cả hai thành cục bộ cho một trang web cụ thể hoặc thậm chí là một thư mục trong một trang web bằng cách chỉnh sửa tệp web.config thích hợp. Nếu độ dài tệp (tốt, yêu cầu) nhỏ hơn max ALLowedContentLpm nhưng lớn hơn maxRequestLpm, người dùng sẽ nhận được trang lỗi (ASPX) tiêu chuẩn của bạn, nếu bạn có. Nếu đó là cách khác, anh ta sẽ nhận được một trang lỗi IIS thay thế. Vì lý do đó, bạn có thể muốn có max ALLowedContentLpm đến một giá trị rất lớn (chỉ dành cho trang web / thư mục này) và sau đó có giá trị giới hạn là maxRequestLpm.

Cuối cùng, hãy nhớ rằng maxRequestLpm là tính bằng KB trong khi max ALLowedContentLpm nằm trong BYTES!


Tôi có 3 điều khiển tải lên trong trang của mình trong đó kiểm soát tải lên có giới hạn 50 MB. Vì vậy, tôi đang tải lên tổng cộng 150 MB trong một lần chụp, Cấu hình của tôi là max ALLowedContentL wavel = "51200000" & execTimeout = "1200" & maxRequestL wavel = "51200". chiều dài nào tôi nên thay đổi ở đây. Xin đề nghị.
Nirav Vasoya

21

Câu trả lời ngắn gọn và ngọt ngào là cái nhỏ hơn của hai người sẽ được ưu tiên. Mặc dù vậy, một lời khuyên - theo ý kiến ​​của tôi, bạn nên đặt maxRequestLpm là nhỏ hơn trong số hai vì bạn có thể bắt gặp một ngoại lệ trong sự kiện Application_Error của Global.asax nếu nó bị vượt quá. Nếu bạn vượt quá max ALLowedContentLpm, IIS sẽ xử lý thay vì ASP.NET, làm cho việc xử lý mã trở nên khó khăn hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.