我的 .aspx 页面中有一个脚本,该脚本将信息发送到后端 .cs 页面。在大多数情况下,概念都是简单且最糟糕的,除非数据太大。如何在不修改 web.config的情况下增加“数据”变量可以容纳的容量?请看下面的代码。
.ASPX
<script type="text/javascript">
$(document).ready(function () {
var note = "";
for (var i = 0; i < 200000; i++)
note = note + "x";
$.ajax({
type: "POST",
url: "GroupDetailsDisplayPlus.aspx/UpdateRecord",
data: "{note: \"" + note + "\"}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var response = msg.d;
alert("success");
}
error: function (request, status, thrownError) {
//alert(request.thrownError); // short version
alert(request.responseText); // long version
}
});
});
</script>
。CS
[System.Web.Services.WebMethod]
public static string UpdateRecord(string note)
{
return note;
}
此代码已简化,我的目的是将这个大字符串存储在数据库中(省略代码)。如果我将 for 循环设置为仅执行 100,000 次循环,则此方法有效。但是,将其增加到 200,000 个循环失败并显示错误消息:
{"Message":"使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了 maxJsonLength 属性上设置的值。\r\n参数名称: 输入","StackTrace": 在 System.Web.Script。 Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer 序列化程序,字符串输入,类型类型,Int32 depthLimit)\r\n 在 System.Web.Script.Serialization.JavaScript Serializer.Deserialize[T](字符串输入)\r\n 在 System.Web .Script.Service.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.ArgumentException"}
感谢您的任何帮助。