【问题标题】:What size should I set MaxJsonLength? Does it matter?我应该设置多大的 MaxJsonLength?有关系吗?
【发布时间】:2015-06-18 10:12:13
【问题描述】:

我有大量数据,其大小可能会有所不同。当数据被序列化并从 C# 传递给 JS 时,我遇到了 MaxJsonLength 错误。

我找到了一个修复 here,它工作正常。但是我很好奇将数字设置得太高是否不好? 显然它默认为 102400 (100k) 是有原因的。

我是否可以在 JavaScriptSerializer 字符串长度中找出我的数据的粗略大小,以便我可以降低配置文件中的数字?

谢谢

【问题讨论】:

    标签: javascript c# asp.net json


    【解决方案1】:

    当我设置这个属性时,我们的 JSON 是 unicode(每个字符两个字节),所以我们对 11 MB 的 JSON 文件使用以下内容:

    1024*1024*22

    这给了我们 23068672。

    所以,我的示例如下 - 如果计算 JSON 的实际长度 (11MB),如果 unicode (22MB) 则将其加倍,然后锻炼字节 (1024*1024)。

    要获取 JSON 的长度,只需计算 JSON 字符串中的字节数:

    var count = Encoding.UTF8.GetBytes(json).Length;

    【讨论】:

    • 感谢您的帮助。我已经按照您所说的进行了操作,并且我已经在 c# 中对数组进行了此操作,然后由 JavaScriptSerializer 在 asp.net 中自动发送和处理它。我已经完成了这个JavaScriptSerializer json = new JavaScriptSerializer(); json.Serialize(data); int a = Encoding.UTF8.GetBytes(json.ToString()).Length;,它给了我 52,使用你的计算结果是 54525952。但是我对其进行了测试并将其减一并将其添加到配置文件中。程序仍然有效。
    猜你喜欢
    • 1970-01-01
    • 2017-06-13
    • 2015-05-27
    • 2019-09-10
    • 2012-04-09
    • 2015-10-05
    • 1970-01-01
    • 1970-01-01
    • 2013-02-04
    相关资源
    最近更新 更多