2023-02-17 446
我正在使用jquery的自动完成功能.当我尝试检索越多的记录(每个记录的列表)时,它超出了长度并抛出了错误:
例外信息:
异常类型:InvalidOperationExceptionbr
异常消息:使用JSON JavaScriptSerializer序列化或反序列化期间出错.字符串的长度超出了maxjsonlength属性上设置的值.
我可以在web.config中为maxJsonLength设置无限的长度吗?如果没有,我可以设置的最大长度是多少?
注意:此答案仅适用于Web服务,如果您从控制器方法返回JSON,请确保您读到此答案以下: https://stackoverflow.com/a/7207539//7207539//7207539//7207539//7207539//7207539//7207539//7207539//7207539//7207539//7207539/1246870
maxjsonlength 属性无法无限制,是默认为102400(100k)的整数属性.
您可以在web.config上设置MaxJsonLength属性:
<configuration>
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="50000000"/>
</webServices>
</scripting>
</system.web.extensions>
</configuration>
如果您使用的是mvc 4 ,请务必查看 此答案 也是如此.
如果您仍然收到错误:
中的最大值后
您的问题很可能是:
maxjsonlength属性的值仅适用于异步通信层以调用Web服务方法使用的内部JavaScriptSerializer实例. ( msdn:scriptingjsonserialization.maxjsonlength属性)
基本上,”内部”JavaScriptSerializer从Web方法调用时尊重maxJsonLength的值;直接使用JavaScriptSerializer(或通过MVC Action-Method/Controller使用)是不是尊重maxJsonLength属性,至少不是web.config的systemWebExtensions.scripting.webServices.jsonSerialization部分.特别是, Controller.Json() 方法不尊重配置设置!
作为解决方法,您可以在您的控制器(或任何地方)中执行以下操作:
var serializer = new JavaScriptSerializer();
// For simplicity just use Int32's max value.
// You could always read the value from the config section mentioned above.
serializer.MaxJsonLength = Int32.MaxValue;
var resultData = new { Value = "foo", Text = "var" };
var result = new ContentResult{
Content = serializer.Serialize(resultData),
ContentType = "application/json"
};
return result;
这个答案是我对这个ASP.NET论坛答案.
在mvc 4中,您可以执行以下操作:
protected override JsonResult Json(object data, string contentType, System.Text.Encoding contentEncoding, JsonRequestBehavior behavior)
{
return new JsonResult()
{
Data = data,
ContentType = contentType,
ContentEncoding = contentEncoding,
JsonRequestBehavior = behavior,
MaxJsonLength = Int32.MaxValue
};
}
在您的控制器中.
添加:
对于您需要指定的参数困惑的任何人,呼叫可能如下所示:
Json(
new {
field1 = true,
field2 = "value"
},
"application/json",
Encoding.UTF8,
JsonRequestBehavior.AllowGet
);
以上所述是小编给大家介绍的我可以在web.config中为maxJsonLength设置一个无限的长度吗?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/34168.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态