【问题标题】:Setting MaxJSONSerializer length to particular action in MVC将 MaxJSONSerializer 长度设置为 MVC 中的特定操作
【发布时间】:2017-05-27 12:06:41
【问题描述】:

是否可以为 MVC 中的特定操作设置 MaxJSONSerializer 长度。我正在通过 ajax POST 调用 Action 方法。并将参数作为对象本身传递,所以调用没有完成它显示

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

。我知道我们可以更改 Web.config 文件中的属性。我想知道是否有可能为特定的动作设置它。 这是我正在使用的 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
    }
});

【问题讨论】:

  • 请提供出现异常的控制器方法,js看起来不错

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


【解决方案1】:
    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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    相关资源
    最近更新 更多