diff --git a/src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/ObjectExplorerService.cs b/src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/ObjectExplorerService.cs index 7e631b8b..62b7e0ba 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/ObjectExplorerService.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/ObjectExplorer/ObjectExplorerService.cs @@ -275,7 +275,9 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer CreateSessionTask = task; Task.Run(async () => { - ObjectExplorerTaskResult result = await RunTaskWithTimeout(task, settings.CreateSessionTimeout); + ObjectExplorerTaskResult result = await RunTaskWithTimeout(task, + settings?.CreateSessionTimeout ?? ObjectExplorerSettings.DefaultCreateSessionTimeout); + if (result != null && !result.IsComplete) { cancellationTokenSource.Cancel(); @@ -419,7 +421,9 @@ namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer ExpandTask = task; Task.Run(async () => { - ObjectExplorerTaskResult result = await RunTaskWithTimeout(task, settings.ExpandTimeout); + ObjectExplorerTaskResult result = await RunTaskWithTimeout(task, + settings?.ExpandTimeout ?? ObjectExplorerSettings.DefaultExpandTimeout); + if (result != null && !result.IsComplete) { cancellationTokenSource.Cancel(); diff --git a/src/Microsoft.SqlTools.ServiceLayer/SqlContext/ObjectExplorerSettings.cs b/src/Microsoft.SqlTools.ServiceLayer/SqlContext/ObjectExplorerSettings.cs index bbec0641..b22aa49b 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/SqlContext/ObjectExplorerSettings.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/SqlContext/ObjectExplorerSettings.cs @@ -10,10 +10,13 @@ namespace Microsoft.SqlTools.ServiceLayer.SqlContext /// public class ObjectExplorerSettings { + public static int DefaultCreateSessionTimeout = 10; + public static int DefaultExpandTimeout = 10; + public ObjectExplorerSettings() { - CreateSessionTimeout = 10; - ExpandTimeout = 10; + CreateSessionTimeout = DefaultCreateSessionTimeout; + ExpandTimeout = DefaultExpandTimeout; } ///