C# JsonResult上的OutOfMemoryException
我正在使用JsonResult对象发送一个浮点数组。浮点数组有13M个项目,它表示一个wav文件:C# JsonResult上的OutOfMemoryException,c#,json,C#,Json,我正在使用JsonResult对象发送一个浮点数组。浮点数组有13M个项目,它表示一个wav文件: public JsonResult GetWavFile() { //... var jsonResult = Json(floatArray, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return jsonResult; } 我正在从MemoryExc
public JsonResult GetWavFile()
{
//...
var jsonResult = Json(floatArray, JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = int.MaxValue;
return jsonResult;
}
我正在从MemoryException中获取异常
这只是关于ciruclar参考,而不是我的情况。当浮动数组的项目数低于2M时,它毫无例外地工作。有什么办法可以解决这个问题吗?(我不喜欢使用块)不知道您的需求,但使用流而不是json发送是否更有意义?请尝试编译为64位。13M浮点数可能适合32位空间,但用json字符串表示可能不适合t@Magnus我没有任何要求,我发送这个对象,我使用Ajax读取浮点数,然后使用这些浮点数播放音频。如果您不动态生成数据,那么您可以将文件作为静态内容提供。Json不是解决方法。如果您在服务器上遇到内存不足异常,想象一下当客户端必须将其加载到内存中时会发生什么。您应该将数据流从数据库一直传输到客户端的播放器。不知道您的要求,但使用流而不是json发送数据是否更有意义?请尝试以64位编译。13M浮点数可能适合32位空间,但用json字符串表示可能不适合t@Magnus我没有任何要求,我发送这个对象,我使用Ajax读取浮点数,然后使用这些浮点数播放音频。如果您不动态生成数据,那么您可以将文件作为静态内容提供。Json不是解决方法。如果您在服务器上遇到内存不足异常,想象一下当客户端必须将其加载到内存中时会发生什么。您应该将它从数据库一直流到客户端上的播放器。