私はJSON.NET、 と私自身のカスタム・シリアライズメソッドを作成する方法は、次のようになります。のOutOfMemoryException - JSON.NET
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
var Obj = (xObject)value;
writer.WriteStartArray();
foreach(var TargetObject in Obj)
{
writer.WriteStartObject();
writer.WritePropertyName(TargetObject.Data.Key);
writer.WriteValue(TargetObject.Data.Value);
writer.WriteEndObject();
}
writer.WriteEndArray();
}
私は、メモリ不足を言って、writer.WriteValue(TargetObject.Data.Value)
で任意のアイデアをOutOfMemoryException
例外が発生しました私はカスタムシリアル化を保つことができますが、この問題を避けることができますか?
私はシリアル化しようとしているオブジェクトが1GB以上であることに注意してください。
メモリに書き込みますか?ディスクに直接書き込みます。 – kristianp
これは質問の誤植かもしれませんが、 'writer.WriteEndArray();'の呼び出しは 'foreach'ループの外に移動する必要があります。 – dbc
@kristianp、私はhttpリクエストとしてデータを送り返しています... –