Пробую сохранить Security, в доке написано что вроде как можно:
[SerializableAttribute]
[DataContractAttribute]
public class Security : IExtendableEntity, INotifyPropertyChangedEx,
INotifyPropertyChanged
Пишем:
Stream stream = File.Open(Conf.securityFileName, FileMode.Create);
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, security);
stream.Close();
А в результате получаем:
2010-10-25 13:05:07,218 ERROR: System.Runtime.Serialization.SerializationException: Type 'Ecng.Common.NullableEx`1[[System.TimeSpan, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]' in Assembly 'Ecng.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable. at System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type)
В чем ошибка?
Comments (3)
Login or Create account, Log in or register to leave a comment
Security.Exchange не сериализуется (добавил его позднее). Вариант - обнулите его перед сохранение в файл.
А фикс будет?
В 2.5 сделан фикс. Вернее, не столько фикс, сколько улучшение сериализации торговых типов.