Tôi có một ứng dụng MVC3
chạy dưới .NET 4.0
và khi tôi sử dụng JavascriptSerializer.Deserialize
Tôi gặp lỗi.Web.config jsonSerialization maxJsonLength bỏ qua
Lỗi trong quá trình tuần tự hóa hoặc deserialization bằng cách sử dụng JSON JavaScriptSerializer. Độ dài của chuỗi vượt quá giá trị được đặt trên thuộc tính maxJsonLength.
Đọc Can I set an unlimited length for maxJsonLength in web.config Tôi đặt khóa jsonSerialization maxJsonLength
trong web.config của mình nhưng bị bỏ qua. Mặc dù tôi có thể thiết lập các tài sản JavaScriptSerializer.MaxJsonLength
trong mã và nó hoạt động tốt.
Tôi muốn có giá trị trong số Web.config
thay vì mã. Đây là cách tôi đang sử dụng JavaScriptSerializer
.
Dim client As New WebClient
...
Dim result = _client.DownloadString("Test")
Dim serializer = New JavaScriptSerializer
Return serializer.Deserialize(Of Foo)(result)
Đây là tôi Web.config
<configuration>
<configSections>
...
</configSections>
<appSettings>
...
</appSettings>
<system.web>
<customErrors mode="On">
<error statusCode="404" redirect="/Http404"/>
<error statusCode="403" redirect="/Http403"/>
<error statusCode="550" redirect="/Http550"/>
</customErrors>
<compilation debug="true" targetFramework="4.0"/>
<pages controlRenderingCompatibilityVersion="4.0">
<namespaces>
<add namespace="System.Web.Helpers"/>
<add namespace="System.Web.Mvc"/>
<add namespace="System.Web.Mvc.Ajax"/>
<add namespace="System.Web.Mvc.Html"/>
<add namespace="System.Web.Routing"/>
<add namespace="System.Web.WebPages"/>
</namespaces>
</pages>
</system.web>
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="50000000"/>
</webServices>
</scripting>
</system.web.extensions>
<system.webServer>
....
</system.webServer>
</configuration>
Bạn nên in đậm ** nội bộ **. Đó là những gì tôi hiểu sai! –
Xong. Cũng chỉ cần nhận ra tôi đã cho bạn một ví dụ C#, đã không nhìn thấy thẻ vb.net của bạn cho đến bây giờ :) – lhan