.aspxページに、バックエンドの.csページに情報を送信するスクリプトがあります。データが大きすぎる場合を除いて、概念は単純で、ほとんどの場合最悪です。web.configを変更せずに、「data」変数が保持できる容量を増やすにはどうすればよいですか?以下のコードを参照してください。
.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サイクルに増やすと、エラーメッセージが表示されて失敗します。
{"メッセージ":"JSONJavaScriptSerializerを使用したシリアル化または逆シリアル化中にエラーが発生しました。文字列の長さがmaxJsonLengthプロパティに設定された値を超えています。\r \ nパラメータ名:input"、 "StackTrace":System.Web.Scriptで。 Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer、String input、Type type、Int32depthLimit)\ r \ n at System.Web.Script.Serialization.JavaScript Serializer.Deserialize [T](String input)\ r \ n at System.Web .Script.Service.RestHandler.ExecuteWebServiceCall(HttpContext context、WebServiceMethodData methodData) "、" ExceptionType ":" System.ArgumentException "}
助けてくれてありがとう。