获取错误:
类型为“ System.InvalidOperationException”的异常发生在 System.Web.Extensions.dll,但未在用户代码中处理
其他信息:序列化或反序列化期间出错 使用JSON JavaScriptSerializer。字符串长度超过 在maxJsonLength属性上设置的值。
在我的appsetting文件中,我添加了:
<add key="aspnet:MaxJsonDeserializerMembers" value="2147483647" />
在我的webconfig文件中,我添加了:
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483647"/>
</webServices>
</scripting>
</system.web.extensions>
仍然出现错误。
发生在“返回”中的错误,这是我的C#代码:
public String GetBulkContacts(string KeyName, string GroupName)
{
var result = _bulkMailService.GetBulkMailContacts(KeyName, GroupName);
return new JavaScriptSerializer().Serialize(result);
}
答案 0 :(得分:1)
您可以更改为此;
var serializer = new JavaScriptSerializer();
serializer.MaxJsonLength = Int32.MaxValue;
return serializer.Serialize(result);
据我所知,web.config设置仅适用于MVC内部序列化程序,而不适用于您自己设置的实例...
您还可以使用;
return new JsonResult()
{
Data = result,
MaxJsonLength = Int32.MaxValue
};
相反。另外,我认为您应该使用
JsonConvert.SerializeObject(result);
这几天代替了直接的JavaScriptSerializer。