将MaxJSONSerializer长度设置为MVC中的特定操作

时间:2017-01-12 11:36:23

标签: jquery json ajax asp.net-mvc asp.net-ajax

是否可以为MVC中的特定操作设置MaxJSONSerializer长度。我通过ajax POST调用Action方法。并将参数作为对象本身传递,因此调用未显示

  

JSON请求太大而无法反序列化。

。我知道我们可以在Web.config文件中更改属性。我想知道是否有可能为特定的Action设置它。 这是我正在使用的ajax功能。如果我发送较小的对象阵列,它正在工作。这里 settingobj 对象具有更大的尺寸:

$.ajax({
url: "Home/CreateNew", 
data:{ jobId: val, projectId: selectcaseid, userId: user.id(), objSetting: settingobj, custle: objcustle() },
type: "POST",
success: function(result){
        $("#div1").html(result);
        //Success function
    },
error: function(result){
        //error function
    }
});

1 个答案:

答案 0 :(得分:0)

    StreamReader reader = new StreamReader(Request.Params["custle"]);
    string bodyText = reader.ReadToEnd();
    if (String.IsNullOrEmpty(bodyText))
    {
        // no JSON data
        return null;
    }

    JavaScriptSerializer serializer = new JavaScriptSerializer();
    serializer.MaxJsonLength = 2147483647;
    object jsonData = serializer.DeserializeObject(bodyText);
    return jsonData;