В приложении мы можем сохранить текущее состояние приложения и его конфигурацию (которая может быть огромной). Мы используем XmlSerializer
.C#: Сериализация объектов в XML без отражения
Теперь у нас есть только то, что нам нужно в XML (все XmlIgnore на месте), и очень медленно хранить всю конфигурацию (файл ~ 50-100 МБ).
Мы должны держать хранения такой конфигурации, как XML, но мы хотели бы избежать:
- Отражение, которое замедлять
- реализовать интерфейс
IXmlSerializable
Идея должен был иметь метод для реализации в каждом объекте, в котором мы можем зарегистрировать, какие поля/свойство мы хотим сериализовать, а затем иметь SerializationManager
, который может читать то, что мы хотим сериализовать, а затем написать их.
Таким образом, объекты не знают язык (XML), в котором они будут визуализированы, и если однажды нам понадобится двоичная сериализация (или если мы хотим иметь возможность сериализации в другом формате), мы Можно.
Но мы не хотим изобретать велосипед, и я не знаю, если какая-то библиотека существует, или если что-то вроде Linq для XML может помочь, или, если это возможно изначально ...
Так как вы думаете, я могу это достичь?
100 МБ конфигурации в любом формате - плохая идея ИМХО. Вы должны использовать базу данных. – fejesjoco