Недавно было обнаружено, что существующий код сериализации не работает, если объект для преобразования слишком велик.Я знаю, как увеличить максимальную длину в .NET JavascriptSerializer.Но как мне сделать то же самое в JsonConvert.SerializeObject?
Ссылки на параметр web.config:
<jsonSerialization maxJsonLength="50000000"/>
Скажите, что он соблюдается только WCF.Мы не используем WCF.Это простая библиотека .NET, требующая сериализации объектов.
Соответствующий код:
public static string Serialize(object value)
{
return JsonConvert.SerializeObject(value, SerializerSettings);
}
Вот как я могу создать настройки:
private static JsonSerializerSettings SerializerSettings
{
get
{
var settings = new JsonSerializerSettings();
settings.Converters.Add(new StringEnumConverter());
settings.ContractResolver = new CamelCasePropertyNamesContractResolver();
settings.NullValueHandling = NullValueHandling.Ignore;
return settings;
}
}
Я не вижу нужного мне свойства в JsonSerializerSettings.Мой объект многослойный, но в основном это строковые типы.Я конвертирую загруженный файл и сохраняю его как строку.Размер этого файла - это элемент, который я изменяю, когда вижу сбой.
К сожалению, библиотека, которую я использую, не регистрируется, поэтому я не могу найти точную ошибку.Но код работает с небольшими файлами (<150 КБ) и не работает с большими> 500 КБ.