我有一个简单的方法可以返回大量数据:
public async Task<JsonResult> GetLargeDataTest()
{
var list = await _service.GetLargeDataTest();
return Json(new { response = list });
}
以上代码在我的本地计算机上正常工作。我也尝试在一台本地服务器上,一切都正常。但是,我无法使其在其中一台生产服务器上运行。 Tt引发错误:
“使用JSON JavaScriptSerializer进行序列化或反序列化时出错。字符串的长度超过了在maxJsonLength属性上设置的值。”
我正在为该服务器配置苦苦挣扎。 (我什至启用了所有IIS功能)
我尝试在web.config中设置“ system.web.extensions”部分组和“ jsonSerialization maxJsonLength =“ 2147483647””,但仍然遇到相同的错误。
当我直接在我的代码中直接设置MaxJsonLength = Int32.MaxValue时,这是唯一“有帮助的”事情,但是在这种情况下,响应大约需要40-50秒,这很奇怪,因为我相同的响应需要2秒在我的本地设置和另一台服务器上。 我认为问题不在于代码,因为它可以正常工作,但是我已经用尽了其他所有选项来解决此错误。
有人经历过这样的事情吗?知道在哪里看吗?