我有一个Class对象,其中包含一个属性作为字节数组。此类是我的REST服务的数据协定。字节数组属性将采用Max Size限制为500MB的任何文档。当我尝试使用此服务并序列化对象时,我收到内存异常错误。请找到下面的图片
以下是代码段
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;
}
答案 0 :(得分:1)
尝试“不要在Web服务调用中使用500mb文档”。 TH是核心问题 - 您尝试使用方法调用机制来传输半千兆字节的数据,这些数据可能会变成内存对象中的几千兆字节。这不是Web服务的目的。