Remove continue with

This commit is contained in:
Pavel Krymets 2018-04-09 14:26:28 -07:00
parent dca31cc6f6
commit 5e5aa90575
1 changed files with 8 additions and 8 deletions

View File

@ -144,12 +144,12 @@ namespace Microsoft.AspNetCore.Server.IISIntegration
var server = (IISHttpServer)GCHandle.FromIntPtr(pvRequestContext).Target; var server = (IISHttpServer)GCHandle.FromIntPtr(pvRequestContext).Target;
Interlocked.Increment(ref server._outstandingRequests); Interlocked.Increment(ref server._outstandingRequests);
// TODO: Add try/catch and logging here _ = Task.Run(
var context = server._iisContextFactory.CreateHttpContext(pInProcessHandler); async () => {
var context = server._iisContextFactory.CreateHttpContext(pInProcessHandler);
var task = Task.Run(() => context.ProcessRequestAsync()); var result = await context.ProcessRequestAsync();;
CompleteRequest(context, result);
task.ContinueWith((t, state) => CompleteRequest((IISHttpContext)state, t), context); });
return NativeMethods.REQUEST_NOTIFICATION_STATUS.RQ_NOTIFICATION_PENDING; return NativeMethods.REQUEST_NOTIFICATION_STATUS.RQ_NOTIFICATION_PENDING;
} }
@ -168,10 +168,10 @@ namespace Microsoft.AspNetCore.Server.IISIntegration
return NativeMethods.REQUEST_NOTIFICATION_STATUS.RQ_NOTIFICATION_PENDING; return NativeMethods.REQUEST_NOTIFICATION_STATUS.RQ_NOTIFICATION_PENDING;
} }
private static void CompleteRequest(IISHttpContext context, Task<bool> completedTask) private static void CompleteRequest(IISHttpContext context, bool result)
{ {
// Post completion after completing the request to resume the state machine // Post completion after completing the request to resume the state machine
context.PostCompletion(ConvertRequestCompletionResults(completedTask.Result)); context.PostCompletion(ConvertRequestCompletionResults(result));
if (Interlocked.Decrement(ref context.Server._outstandingRequests) == 0 && context.Server.Stopping) if (Interlocked.Decrement(ref context.Server._outstandingRequests) == 0 && context.Server.Stopping)
{ {