From 47d7120b81dd646ed9b18740c9cc87a7a33a7c58 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Wed, 27 Dec 2017 16:22:17 +0200 Subject: Implemented KeepAlive Mechanism. Direct Synchronization is now working good. --- .../ViewModels/DirectSynchronizationViewVM.cs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/DirectSynchronizationViewVM.cs') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/DirectSynchronizationViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/DirectSynchronizationViewVM.cs index cfa21a416..7d21bb487 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/DirectSynchronizationViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/DirectSynchronizationViewVM.cs @@ -146,6 +146,8 @@ namespace Tango.MachineStudio.Synchronization.ViewModels #endregion + #region Private Methods + private void Compare() { if (SelectedMachine.SerialNumber != ApplicationManager.ConnectedMachine.SerialNumber) @@ -166,8 +168,9 @@ namespace Tango.MachineStudio.Synchronization.ViewModels InvalidateRelayCommands(); Thread.Sleep(1500); - ApplicationManager.ConnectedMachine.RequestTimeout = TimeSpan.FromSeconds(10); - var response = await ApplicationManager.ConnectedMachine.SendRequest(new DirectSynchronizationRequest()); + ApplicationManager.ConnectedMachine.UseKeepAlive = false; + + var response = await ApplicationManager.ConnectedMachine.SendRequest(new DirectSynchronizationRequest(), TimeSpan.FromSeconds(30)); using (_notification.PushTaskItem("Generating temporary files...")) { @@ -227,6 +230,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels IsWorking = false; SelectedDifference = null; InvalidateRelayCommands(); + ApplicationManager.ConnectedMachine.UseKeepAlive = true; } } }); @@ -254,6 +258,8 @@ namespace Tango.MachineStudio.Synchronization.ViewModels { try { + ApplicationManager.ConnectedMachine.UseKeepAlive = false; + IsWorking = true; InvalidateRelayCommands(); Thread.Sleep(1500); @@ -274,7 +280,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels var response = await ApplicationManager.ConnectedMachine.SendRequest(new OverrideDataBaseRequest() { RemoteDB = ByteString.CopyFrom(remoteDbBytes) - }); + }, TimeSpan.FromSeconds(30)); if (!response.Message.Successful) { @@ -301,6 +307,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels IsWorking = false; SelectedDifference = null; InvalidateRelayCommands(); + ApplicationManager.ConnectedMachine.UseKeepAlive = true; } } }); @@ -315,5 +322,7 @@ namespace Tango.MachineStudio.Synchronization.ViewModels { InvokeUINow(() => _notification.ShowInfo(message)); } + + #endregion } } -- cgit v1.3.1