private void serialize_dc_todelete(Dictionary <string, InstanceValue> instanceData, Dictionary <string, InstanceValue> instanceMetadata) { System.Runtime.Serialization.DataContractSerializerSettings settings = new System.Runtime.Serialization.DataContractSerializerSettings { PreserveObjectReferences = true, KnownTypes = _knownTypes }; System.Runtime.Serialization.DataContractSerializer serializer = new System.Runtime.Serialization.DataContractSerializer(instanceData.GetType(), settings); string serializedCorrelation = null; using (MemoryStream ms = new MemoryStream()) { serializer.WriteObject(ms, Correlation); serializedCorrelation = System.Text.Encoding.UTF8.GetString(ms.ToArray()); } string serializedInstanceData = null; using (MemoryStream ms = new MemoryStream()) { serializer.WriteObject(ms, instanceData); serializedInstanceData = System.Text.Encoding.UTF8.GetString(ms.ToArray()); } string serializedInstanceMetadata = null; using (MemoryStream ms = new MemoryStream()) { serializer.WriteObject(ms, instanceMetadata); serializedInstanceMetadata = System.Text.Encoding.UTF8.GetString(ms.ToArray()); } File.WriteAllText(_storePath("Correlation"), serializedCorrelation); File.WriteAllText(_storePath("InstanceData"), serializedInstanceData); File.WriteAllText(_storePath("InstanceMetadata"), serializedInstanceMetadata); //File.WriteAllText(_storePathInstanceData, serializedInstanceData); //File.WriteAllText(_storePathInstanceMetadata, serializedInstanceMetadata); }
private void deserialize_dc_todelete(out Dictionary <string, InstanceValue> instanceData, out Dictionary <string, InstanceValue> instanceMetadata) { System.Runtime.Serialization.DataContractSerializerSettings settings = new System.Runtime.Serialization.DataContractSerializerSettings { PreserveObjectReferences = true, KnownTypes = _knownTypes }; System.Runtime.Serialization.DataContractSerializer deserializer = new System.Runtime.Serialization.DataContractSerializer(typeof(Dictionary <string, InstanceValue>), settings); var serializedInstanceData = File.ReadAllText(_storePath("InstanceData")); using (MemoryStream ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(serializedInstanceData))) { instanceData = (Dictionary <string, InstanceValue>)deserializer.ReadObject(ms); } var serializedInstanceMetadata = File.ReadAllText(_storePath("InstanceMetadata")); using (MemoryStream ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(serializedInstanceMetadata))) { instanceMetadata = (Dictionary <string, InstanceValue>)deserializer.ReadObject(ms); } }
public DataContractSerializer(System.Type type, System.Runtime.Serialization.DataContractSerializerSettings settings) { }
private bool SaveWorkflow(InstancePersistenceContext context, SaveWorkflowCommand command) { if (context.InstanceVersion == -1) { context.BindAcquiredLock(0); } if (command.CompleteInstance) { context.CompletedInstance(); if (!KeepInstanceDataAfterCompletion) { DeleteFiles(context.InstanceView.InstanceId); } } else { Dictionary <string, InstanceValue> instanceData = SerializeablePropertyBagConvertXNameInstanceValue(command.InstanceData); Dictionary <string, InstanceValue> instanceMetadata = SerializeInstanceMetadataConvertXNameInstanceValue(context, command); try { //var serializedInstanceData = JsonConvert.SerializeObject(instanceData, Formatting.Indented, _jsonSerializerSettings); ////File.WriteAllText(_storeDirectoryPath + "\\" + context.InstanceView.InstanceId + "-InstanceData", serializedInstanceData); //File.WriteAllText(_storePathInstanceData, serializedInstanceData); //var test_deserializ = JsonConvert.DeserializeObject<Dictionary<string, InstanceValue>>(serializedInstanceData, _jsonSerializerSettings); //var serializedInstanceMetadata = JsonConvert.SerializeObject(instanceMetadata, Formatting.Indented, _jsonSerializerSettings); ////File.WriteAllText(_storeDirectoryPath + "\\" + context.InstanceView.InstanceId + "-InstanceMetadata", serializedInstanceMetadata); //File.WriteAllText(_storePathInstanceMetadata, serializedInstanceMetadata); serialize_dc(instanceData, instanceMetadata); } catch (Exception exc) { System.Runtime.Serialization.DataContractSerializerSettings settings = new System.Runtime.Serialization.DataContractSerializerSettings { PreserveObjectReferences = true, KnownTypes = _knownTypes }; string s1 = null; System.Runtime.Serialization.DataContractSerializer serializer = new System.Runtime.Serialization.DataContractSerializer(instanceData.GetType(), settings); using (MemoryStream ms = new MemoryStream()) { serializer.WriteObject(ms, instanceData); s1 = System.Text.Encoding.UTF8.GetString(ms.ToArray()); } Dictionary <string, InstanceValue> obj = null; System.Runtime.Serialization.DataContractSerializer deserializer = new System.Runtime.Serialization.DataContractSerializer(instanceData.GetType(), settings); using (MemoryStream ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(s1))) { obj = (Dictionary <string, InstanceValue>)deserializer.ReadObject(ms); } throw; } foreach (KeyValuePair <XName, InstanceValue> property in command.InstanceMetadataChanges) { context.WroteInstanceMetadataValue(property.Key, property.Value); } context.PersistedInstance(command.InstanceData); if (command.CompleteInstance) { context.CompletedInstance(); } if (command.UnlockInstance || command.CompleteInstance) { context.InstanceHandle.Free(); } } return(true); }