2014-06-23 14 views
6

Tôi có một máy chủ web trong. Net làm việc với Nancyfx. Tôi có một tuyến đường phải tải lên một hình ảnh, hình ảnh này được gửi từ một khách hàng bằng mã byte byte json json, cùng với các thuộc tính khác. Khi tôi cố gắng ràng buộc json đến với mô hình của tôi, tôi có ngoại lệ tiếp theo: "Độ dài đầu vào JSON tối đa đã bị vượt quá".asp.net dịch vụ web tối đa json chiều dài đầu vào đã được vượt quá

Something như thế này:

Post["/Upload", true] = async(_, ctx) => 
{ 
    UploadModel model = null; 

    model = this.Bind<UploadModel >(); 

    . 
    . 
    . 
} 

Tôi đã đọc rằng việc thay đổi giá trị của "maxJsonLength" trong web.config của tôi xử lý vấn đề này, nhưng khi tôi đặt một giá trị cao hơn với nó, không có hiệu lực:

<scripting> 
    <webServices> 
    <jsonSerialization maxJsonLength="50000000"/> 
    </webServices> 
</scripting> 

Cùng với sự maxRequestLength:

<httpRuntime targetFramework="4.5" maxRequestLength="1000000"/> 

Đối với một số hình ảnh nhỏ hơn (5KB, 50KB) không có vấn đề gì trong việc ràng buộc, nhưng khi tôi gửi ảnh có kích cỡ 144KB trở lên, nó cho tôi lỗi liên quan.

Mọi suy nghĩ? Nếu tôi đã bỏ lỡ một số thông tin có liên quan, chỉ cần hỏi tôi

+0

'maxStringContentLength'? – marathonman

+0

Tôi vừa thêm nó để kiểm tra nó, nhưng giữ cho tôi cùng một lỗi. – monkeyBug

Trả lời

15

Đừng bận tâm guys, tôi chỉ tìm thấy câu trả lời:

Trong tài liệu nancy nó nói "nếu bạn gặp các lỗi vượt quá Nancy.Json.JsonSettings.MaxJsonLength vì bạn tải trọng quá cao, thay đổi giới hạn đó trong Bootsrapper của bạn ..."

Vì vậy, tôi đã làm nó:

public class Bootstrapper : DefaultNancyBootstrapper 
{ 
     protected override void ApplicationStartup(Nancy.TinyIoc.TinyIoCContainer container, Nancy.Bootstrapper.IPipelines pipelines) 
     { 
      base.ApplicationStartup(container, pipelines); 

      Nancy.Json.JsonSettings.MaxJsonLength = int.MaxValue; 
     } 
} 

Bây giờ, lỗi không MaxJsonLength hơn, hy vọng điều này sẽ giúp ai đó trong tương lai!

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