首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在序列化为JSON字符串时修复OutOfMemoryException?

如何在序列化为JSON字符串时修复OutOfMemoryException?
EN

Stack Overflow用户
提问于 2014-07-07 14:35:51
回答 1查看 1.1K关注 0票数 0

我有一个Class对象,其中包含一个字节数组的属性。这个类是我的REST服务的数据契约。byte array属性将接受最大大小限制为500MB的任何文档。当我试图使用这个服务并序列化对象时,我得到了内存异常错误。请找到下面的图片

下面是代码片段

代码语言:javascript
运行
复制
  public static string SerializeJSon<T>(T t)
        {
            MemoryStream stream = new MemoryStream();
            DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(T));
            DataContractJsonSerializerSettings s = new DataContractJsonSerializerSettings();
            DateTimeFormat dt = new DateTimeFormat("MM/dd/yyyy");
            s.DateTimeFormat = dt;
            **ds.WriteObject(stream, t);**
            string jsonString = Encoding.UTF8.GetString(stream.ToArray());
            stream.Close();
            return jsonString;
        }
EN

回答 1

Stack Overflow用户

发布于 2014-07-07 14:40:04

尝试“不要在web服务调用中使用500mb文档”。这就是核心问题--您尝试使用方法调用机制来传输半in的数据,这些数据可能会变成内存对象中的一些in的数据。这不是web服务设计的目的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24604330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档