static void Serialize(RoutingTableStateDescriptor descriptor) { using (FileStream file = new FileStream(FilePath, FileMode.Create)) { var formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); formatter.Serialize(file, descriptor.Servers); file.Close(); } }
static RoutingTableStateDescriptor Deserialize() { RoutingTableStateDescriptor descriptor = new RoutingTableStateDescriptor(); if (File.Exists(FilePath)) { using (FileStream file = new FileStream(FilePath, FileMode.Open, FileAccess.Read)) { if (file.Length > 0) { var formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); descriptor.Servers.AddRange((List <WorkSessionServerInfo>)formatter.Deserialize(file)); } file.Close(); } } return(descriptor); }
public static void RestoreDataFromCache() { RoutingTableStateDescriptor descriptor = Deserialize(); RoutingTable.AddWorkSessionServers(descriptor.Servers); }