diff --git a/src/Hosting/Hosting/ref/Microsoft.AspNetCore.Hosting.netcoreapp.cs b/src/Hosting/Hosting/ref/Microsoft.AspNetCore.Hosting.netcoreapp.cs
index b87c115dea..0ed621abe1 100644
--- a/src/Hosting/Hosting/ref/Microsoft.AspNetCore.Hosting.netcoreapp.cs
+++ b/src/Hosting/Hosting/ref/Microsoft.AspNetCore.Hosting.netcoreapp.cs
@@ -50,6 +50,7 @@ namespace Microsoft.AspNetCore.Hosting
public static void Run(this Microsoft.AspNetCore.Hosting.IWebHost host) { }
[System.Diagnostics.DebuggerStepThroughAttribute]
public static System.Threading.Tasks.Task RunAsync(this Microsoft.AspNetCore.Hosting.IWebHost host, System.Threading.CancellationToken token = default(System.Threading.CancellationToken)) { throw null; }
+ [System.Diagnostics.DebuggerStepThroughAttribute]
public static System.Threading.Tasks.Task StopAsync(this Microsoft.AspNetCore.Hosting.IWebHost host, System.TimeSpan timeout) { throw null; }
public static void WaitForShutdown(this Microsoft.AspNetCore.Hosting.IWebHost host) { }
[System.Diagnostics.DebuggerStepThroughAttribute]
diff --git a/src/Hosting/Hosting/src/WebHostExtensions.cs b/src/Hosting/Hosting/src/WebHostExtensions.cs
index b1b317272b..fe77b13443 100644
--- a/src/Hosting/Hosting/src/WebHostExtensions.cs
+++ b/src/Hosting/Hosting/src/WebHostExtensions.cs
@@ -19,9 +19,10 @@ namespace Microsoft.AspNetCore.Hosting
/// The timeout for stopping gracefully. Once expired the
/// server may terminate any remaining active connections.
/// A that completes when the stops.
- public static Task StopAsync(this IWebHost host, TimeSpan timeout)
+ public static async Task StopAsync(this IWebHost host, TimeSpan timeout)
{
- return host.StopAsync(new CancellationTokenSource(timeout).Token);
+ using var cts = new CancellationTokenSource(timeout);
+ await host.StopAsync(cts.Token);
}
///