mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-02-16 10:58:30 -05:00
use new thread to handle requests (#1207)
This commit is contained in:
@@ -427,8 +427,8 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection
|
|||||||
if (!ConnectionService.IsDbPool(connectionInfo.ConnectionDetails.DatabaseName))
|
if (!ConnectionService.IsDbPool(connectionInfo.ConnectionDetails.DatabaseName))
|
||||||
{
|
{
|
||||||
connectionInfo.ConnectionDetails.DatabaseName = connection.Database;
|
connectionInfo.ConnectionDetails.DatabaseName = connection.Database;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(connectionInfo.ConnectionDetails.ConnectionString))
|
if (!string.IsNullOrEmpty(connectionInfo.ConnectionDetails.ConnectionString))
|
||||||
{
|
{
|
||||||
// If the connection was set up with a connection string, use the connection string to get the details
|
// If the connection was set up with a connection string, use the connection string to get the details
|
||||||
@@ -477,7 +477,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection
|
|||||||
connectionInfo.MajorVersion = serverInfo.ServerMajorVersion;
|
connectionInfo.MajorVersion = serverInfo.ServerMajorVersion;
|
||||||
connectionInfo.IsSqlDb = serverInfo.EngineEditionId == (int)DatabaseEngineEdition.SqlDatabase;
|
connectionInfo.IsSqlDb = serverInfo.EngineEditionId == (int)DatabaseEngineEdition.SqlDatabase;
|
||||||
connectionInfo.IsSqlDW = (serverInfo.EngineEditionId == (int)DatabaseEngineEdition.SqlDataWarehouse);
|
connectionInfo.IsSqlDW = (serverInfo.EngineEditionId == (int)DatabaseEngineEdition.SqlDataWarehouse);
|
||||||
connectionInfo.EngineEdition = (DatabaseEngineEdition) serverInfo.EngineEditionId;
|
connectionInfo.EngineEdition = (DatabaseEngineEdition)serverInfo.EngineEditionId;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -1048,21 +1048,24 @@ namespace Microsoft.SqlTools.ServiceLayer.Connection
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Handle requests to list databases on the current server
|
/// Handle requests to list databases on the current server
|
||||||
/// </summary>
|
/// </summary>
|
||||||
protected async Task HandleListDatabasesRequest(
|
protected Task HandleListDatabasesRequest(
|
||||||
ListDatabasesParams listDatabasesParams,
|
ListDatabasesParams listDatabasesParams,
|
||||||
RequestContext<ListDatabasesResponse> requestContext)
|
RequestContext<ListDatabasesResponse> requestContext)
|
||||||
{
|
{
|
||||||
Logger.Write(TraceEventType.Verbose, "ListDatabasesRequest");
|
Task.Run(async () =>
|
||||||
|
|
||||||
try
|
|
||||||
{
|
{
|
||||||
ListDatabasesResponse result = ListDatabases(listDatabasesParams);
|
Logger.Write(TraceEventType.Verbose, "ListDatabasesRequest");
|
||||||
await requestContext.SendResult(result);
|
try
|
||||||
}
|
{
|
||||||
catch (Exception ex)
|
ListDatabasesResponse result = ListDatabases(listDatabasesParams);
|
||||||
{
|
await requestContext.SendResult(result);
|
||||||
await requestContext.SendError(ex.ToString());
|
}
|
||||||
}
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
await requestContext.SendError(ex.ToString());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user