Revert async dispatcher change 08c74be (#1655)

* Revert 08c74be51f async message handling

* Fix merge error in SetEventHandler
This commit is contained in:
Karl Burtram
2022-08-29 10:44:26 -07:00
committed by GitHub
parent 6566a716b6
commit 3885c8f680
2 changed files with 48 additions and 58 deletions

View File

@@ -123,14 +123,11 @@ namespace Microsoft.SqlTools.Hosting.Protocol
this.requestHandlers.Add(
requestType.MethodName,
(requestMessage, messageWriter) =>
{
return Task.Run(async () =>
{
var requestContext =
new RequestContext<TResult>(
requestMessage,
messageWriter);
try
{
TParams typedParams = default(TParams);
@@ -146,15 +143,13 @@ namespace Microsoft.SqlTools.Hosting.Protocol
}
}
await requestHandler(typedParams, requestContext);
return requestHandler(typedParams, requestContext);
}
catch (Exception ex)
{
Logger.Error(ex);
await requestContext.SendError(ex);
return requestContext.SendError(ex.Message);
}
});
});
}
@@ -182,14 +177,11 @@ namespace Microsoft.SqlTools.Hosting.Protocol
this.eventHandlers.Add(
eventType.MethodName,
(eventMessage, messageWriter) =>
{
return Task.Run(async () =>
{
var eventContext = new EventContext(messageWriter);
TParams typedParams = default(TParams);
try
{
TParams typedParams = default(TParams);
if (eventMessage.Contents != null)
{
try
@@ -198,17 +190,17 @@ namespace Microsoft.SqlTools.Hosting.Protocol
}
catch (Exception ex)
{
throw new Exception($"{eventType.MethodName} : Error parsing message contents {eventMessage.Contents}", ex);
Logger.Write(TraceEventType.Verbose, ex.ToString());
}
}
await eventHandler(typedParams, eventContext);
}
catch (Exception ex)
{
// There's nothing on the client side to send an error back to so just log the error and move on
Logger.Error(ex);
}
});
return eventHandler(typedParams, eventContext);
});
}
@@ -339,23 +331,21 @@ namespace Microsoft.SqlTools.Hosting.Protocol
// thread is not blocked.
_ = Task.Run(() =>
{
_ = RunTask(messageToDispatch, handlerToAwait);
_ = RunTask(handlerToAwait);
});
}
else
{
await RunTask(messageToDispatch, handlerToAwait);
await RunTask(handlerToAwait);
}
}
}
private async Task RunTask(Message message, Task task)
private async Task RunTask(Task task)
{
try
{
Logger.Write(TraceEventType.Verbose, $"Processing message with id[{message.Id}], of type[{message.MessageType}] and method[{message.Method}]");
await task;
Logger.Write(TraceEventType.Verbose, $"Finished processing message with id[{message.Id}], of type[{message.MessageType}] and method[{message.Method}]");
}
catch (TaskCanceledException)
{

View File

@@ -1197,7 +1197,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Agent
parameters.OwnerUri,
out connInfo);
result.Success = true;
result.Notebooks = await AgentNotebookHelper.GetAgentNotebooks(connInfo);
result.Notebooks = AgentNotebookHelper.GetAgentNotebooks(connInfo).Result;
}
catch (Exception e)
{
@@ -1246,7 +1246,7 @@ namespace Microsoft.SqlTools.ServiceLayer.Agent
ConnectionServiceInstance.TryFindConnection(
parameters.OwnerUri,
out connInfo);
result.NotebookMaterialized = await AgentNotebookHelper.GetMaterializedNotebook(connInfo, parameters.NotebookMaterializedId, parameters.TargetDatabase);
result.NotebookMaterialized = AgentNotebookHelper.GetMaterializedNotebook(connInfo, parameters.NotebookMaterializedId, parameters.TargetDatabase).Result;
result.Success = true;
}
catch (Exception e)