diff --git a/src/Microsoft.AspNet.Server.Kestrel/Http/Frame.FeatureCollection.cs b/src/Microsoft.AspNet.Server.Kestrel/Http/Frame.FeatureCollection.cs index 1a4efb32fb..2159d70056 100644 --- a/src/Microsoft.AspNet.Server.Kestrel/Http/Frame.FeatureCollection.cs +++ b/src/Microsoft.AspNet.Server.Kestrel/Http/Frame.FeatureCollection.cs @@ -277,7 +277,7 @@ namespace Microsoft.AspNet.Server.Kestrel.Http OnCompleted(callback, state); } - Task IHttpUpgradeFeature.UpgradeAsync() + async Task IHttpUpgradeFeature.UpgradeAsync() { StatusCode = 101; ReasonPhrase = "Switching Protocols"; @@ -290,8 +290,10 @@ namespace Microsoft.AspNet.Server.Kestrel.Http ResponseHeaders["Upgrade"] = values; } } - ProduceStartAndFireOnStarting(immediate: true).GetAwaiter().GetResult(); - return Task.FromResult(DuplexStream); + + await ProduceStartAndFireOnStarting(immediate: true); + + return DuplexStream; } IEnumerator> IEnumerable>.GetEnumerator() => FastEnumerable().GetEnumerator();