aspx.csページのバックエンドWebMethodに対してjQueryAJAX呼び出しを行っています。.NETJSONシリアル化でエラーが発生します。そのため、エラーを修正するか、JSON(WebMethodsの唯一の戻り形式)の使用を回避する方法を探しています。
Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property
関連するStackTraceは次のとおりです。
at System.Web.Script.Serialization.JavaScriptSerializer.Serialize(Object obj, StringBuilder output, SerializationFormat serializationFormat)\r\n at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary'2 rawParams)\r\n at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)
バックエンドコードは次のとおりです(注:result
実際には、文字列にレンダリングされたコントロールの約110k):
[WebMethod]
public static string GetContactListControl()
{
try
{
var result = "Hello World!"
return result;
}
catch (Exception e){
Logging.LogException(e);
return "Exception Thrown";
}
}
そして、私はcatch
ブロックにぶつかることはありません。これは、この問題が私のコードの範囲外であることを示しています。
次のブロックを挿入してweb.configを変更する修正を見つけましたが、機能していません。
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="123456"></jsonSerialization>
</webServices>
</scripting>
</system.web.extensions>
プロジェクトは.NET3.5です。
アイデアや提案をありがとう!