0

データを逆シリアル化しようとすると、次の例外が発生します。

{"メッセージ":"JSON JavaScriptSerializer を使用したシリアル化または逆シリアル化中にエラーが発生しました。文字列の長さが maxJsonLength プロパティに設定された値を超えています。\r\nパラメーター名: 入力","StackTrace":" System.Web.Script で.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)\r\n at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize[T](String input)\r\n at System.Web .Script.Services.RestHandler.GetRawParamsFromPostRequest(HttpContext コンテキスト、JavaScriptSerializer シリアライザー) \r\n で System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData methodData、HttpContext コンテキスト)\r\n System.Web.Script.Services で.RestHandler.ExecuteWebServiceCall(HttpContext コンテキスト、WebServiceMethodData methodData)","ExceptionType":"System.ArgumentException"}

コードは次のとおりです。

Public Function Nominate(ByVal nominationRequest As String, ByVal nominee As String, ByVal coordinator As String) As Result
    Dim status As String = "ok"
    Dim messages As New List(Of String)

    Try
        Dim jsonSettings As JsonSerializerSettings = New JsonSerializerSettings()
        jsonSettings.NullValueHandling = NullValueHandling.Ignore
        jsonSettings.DefaultValueHandling = DefaultValueHandling.Ignore
        'jsonSettings.

        Dim jNomination As NominationRequest = JsonConvert.DeserializeObject(nominationRequest, GetType(NominationRequest), jsonSettings)
        Dim jNominee As Nominee = JsonConvert.DeserializeObject(nominee, GetType(Nominee), jsonSettings)
        Dim jCoord As Nominee = JsonConvert.DeserializeObject(coordinator, GetType(Nominee), jsonSettings)

        messages.AddRange(SaveNomination(jNomination, jNominee, jCoord))

    Catch ex As Exception
        status = "error"
        messages.Add(ex.ToString())
        ExceptionManagement.ExceptionManager.Publish(ex)
    End Try

    Dim result As Result = New Result()

    result.Status = status
    result.Messages = messages

    Return result
End Function

パラメータとして取得している巨大な文字列で動作するようにしたいだけです。私はもともとバージョン 4.5.14811 を使用していましたが、問題が解決することを期待してバージョン 5.08.16617 に更新しました (変更ログがあまり希望を与えていないにもかかわらず)。DLL の .NET 3.5 バージョンを使用しています。これについて私を助けるためにさらに情報が必要な場合はお知らせください。

ありがとう

4

0 に答える 0