Я создал свой собственный метод пользовательской сериализации с 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();
}
Я получил OutOfMemoryException
исключения в writer.WriteValue(TargetObject.Data.Value)
, говоря недостаточно память, любая идея что я могу сохранить свою пользовательскую сериализацию, но избежать этой проблемы?
Обратите внимание, что вы правы, объект, который я пытаюсь выполнить сериализацией, составляет более 1 ГБ.
Вы пишете в память? Напишите непосредственно на диск. – kristianp
Это может быть опечатка в вопросе, но вызов 'writer.WriteEndArray();' должен быть перемещен за пределы цикла foreach. – dbc
@kristianp, я отправляю данные обратно как http-запрос ... –