Web.config中jsonSerialization maxJsonLength忽略

编程入门 行业动态 更新时间:2024-10-28 03:24:43
本文介绍了Web.config中jsonSerialization maxJsonLength忽略的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我在 .NET 4.0 键,当我使用的JavaScriptSerializer运行的 MVC3 应用程序.Deserialize 我得到一个错误。

  

使用JSON序列化的JavaScriptSerializer反序列化或过程中的错误。字符串的长度超过上maxJsonLength属性设置的值。

阅读Can我在web.config中设置无限长度maxJsonLength 我把 jsonSerialization maxJsonLength 键在我的web.config,但它被忽略。虽然我可以设置code中的 JavaScriptSerializer.MaxJsonLength 属性,它工作正常。

我想有在的Web.config ,而不是code中的价值。这里是我如何使用的JavaScriptSerializer 。

昏暗的客户端作为新的Web客户端...昏暗的结果= _client.DownloadString(测试)昏暗的串行器=新的JavaScriptSerializer返回serializer.Deserialize(中富)(结果)

下面是我的的Web.config

<结构>    < configSections>    ...    < / configSections>    <&的appSettings GT;    ...    < /的appSettings>    <&的System.Web GT;    <的customErrors模式=ON>      <错误状态code =404重定向=/ HTTP404/>      <错误状态code =403重定向=/ Http403/>      <错误状态code =550重定向=/ Http550/>    < /&的customErrors GT;    <编译调试=真targetFramework =4.0/>    <页面controlRenderingCompatibilityVersion =4.0>      <&命名空间GT;        <添加命名空间=System.Web.Helpers/>        <添加命名空间=System.Web.Mvc/>        <添加命名空间=System.Web.Mvc.Ajax/>        <添加命名空间=System.Web.Mvc.Html/>        <添加命名空间=System.Web.Routing/>        <添加命名空间=System.Web.WebPages/>      < /命名空间>    < /页>  < /system.web>  < System.Web.Extensions程序>    <脚本>      <&Web服务GT;        < jsonSerialization maxJsonLength =5000/>      < / WebServices的>    < /脚本>    < /system.web.extensions> < system.webServer> ....< /system.webServer>< /结构>

解决方案

根据您所提供的链接(第2最投票的答案),你的web.config设置会因为你使用的是被忽略的内部实例的的JavaScriptSerializer 。

如果你需要存储在web.config中的值,可以添加在℃的关键;的appSettings> 部分名为 maxJsonLength 与值 5000 ,然后在code,你可以使用它像:

VAR串=新的JavaScriptSerializer();serializer.MaxJsonLength = ConfigurationManager.AppSettings ['maxJsonLength'];

I have an MVC3 application running under .NET 4.0 and when I use JavascriptSerializer.Deserialize I'm getting an error.

Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property.

Reading Can I set an unlimited length for maxJsonLength in web.config I put the jsonSerialization maxJsonLength key in my web.config but it gets ignored. Though I can set the JavaScriptSerializer.MaxJsonLength property in code and it works fine.

I would like to have the value in the Web.config rather than code. Here is how I am using JavaScriptSerializer.

Dim client As New WebClient ... Dim result = _client.DownloadString("Test") Dim serializer = New JavaScriptSerializer Return serializer.Deserialize(Of Foo)(result)

Here is my 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>

解决方案

According to the link you provided (the 2nd most voted answer), your web.config setting will be ignored because you're using an internal instance of the JavaScriptSerializer.

If you need the value to be stored in the web.config, you could add a key in the <appSettings> section called maxJsonLength with a value of 50000000 and then in your code, you could use it like:

var serializer = new JavaScriptSerializer(); serializer.MaxJsonLength = ConfigurationManager.AppSettings['maxJsonLength'];

更多推荐

Web.config中jsonSerialization maxJsonLength忽略

本文发布于:2023-11-26 04:48:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1632687.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:config   Web   maxJsonLength   jsonSerialization

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!