gpt4 book ai didi

asp.net - 对 maxJsonLength 默认值的混淆

转载 作者:行者123 更新时间:2023-12-04 03:55:14 26 4
gpt4 key购买 nike

我希望得到有关 maxJsonLength 属性的一些说明。这是一些背景信息。

我在使用 jQuery 的 .NET Web 应用程序中没有返回 AJAX 响应的问题。当用户更改下拉列表时,我手动构建并显示了一些 HTML。问题是一个特定的选择返回了一个大约 140kB 的字符串,但它不会显示在浏览器中。我将问题缩小到字符串的长度太长。在搜索 SO 和其他地方时,我发现问题可以通过 manually setting the value of maxJsonLength 解决。在我的 web.config 中。

我的困惑是关于 maxJsonLength 属性的默认值。一些答案说它是 2097152 个字符和引用 this MSDN link .但其他人说默认长度是 102400 和引用 this other MSDN link .在我的测试中,我得出的结论是默认值为 102400 字节,但我不确定其他默认值的原因。

最佳答案

MaxJsonLength 有两个默认值取决于如何JavaScriptSerializer被 build 。

2 097 152

2097152直接创建序列化程序时。相关代码是:

public class JavaScriptSerializer {
...
internal const int DefaultMaxJsonLength = 2097152;
...
public JavaScriptSerializer(...) {
...
MaxJsonLength = DefaultMaxJsonLength;
}
}

102 400

102400当序列化程序由 ASP.NET MVC(或更旧)创建时。相关代码是:
public sealed class ScriptingJsonSerializationSection : ConfigurationSection {
...
private static readonly ConfigurationProperty _propMaxJsonLength =
new ConfigurationProperty("maxJsonLength",
typeof(int),
102400,
...);
...
[ConfigurationProperty("maxJsonLength", DefaultValue = 102400)]
public int MaxJsonLength { ... }
...
}

有几个地方分配了 serializer.MaxJsonLength到这个值——它们都在与 ASP.NET 相关的代码中。

关于asp.net - 对 maxJsonLength 默认值的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2119186/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com