Close connection after backup execution (#449)

This commit is contained in:
Kate Shin
2017-08-31 11:00:02 -07:00
committed by GitHub
parent bebc1c1b33
commit 44d3e4b17e
3 changed files with 21 additions and 2 deletions

View File

@@ -308,8 +308,6 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery
}
}
}
}
catch(Exception)
{

View File

@@ -14,6 +14,7 @@ using Microsoft.SqlTools.ServiceLayer.TaskServices;
using System.Threading;
using Microsoft.SqlTools.ServiceLayer.DisasterRecovery.RestoreOperation;
using System.Globalization;
using Microsoft.SqlTools.ServiceLayer.Connection.Contracts;
namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery
{
@@ -281,6 +282,7 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery
TaskMetadata metadata = TaskMetadata.Create(backupParams, SR.BackupTaskName, backupOperation, ConnectionServiceInstance);
sqlTask = SqlTaskManagerInstance.CreateAndRun<SqlTask>(metadata);
sqlTask.StatusChanged += CloseConnection;
}
else
{
@@ -352,6 +354,18 @@ namespace Microsoft.SqlTools.ServiceLayer.DisasterRecovery
return false;
}
private void CloseConnection(object sender, TaskEventArgs<SqlTaskStatus> e)
{
SqlTask sqlTask = e.SqlTask;
if (sqlTask != null && sqlTask.IsCompleted)
{
connectionService.Disconnect(new DisconnectParams()
{
OwnerUri = sqlTask.TaskMetadata.OwnerUri
});
}
}
private BackupOperation CreateBackupOperation(CDataContainer dataContainer, SqlConnection sqlConnection)
{
BackupOperation backupOperation = new BackupOperation();