From 6cd5744383f0793ae45bec90e1943848ff16c637 Mon Sep 17 00:00:00 2001 From: Kai Ruhnau Date: Sat, 27 Dec 2014 12:13:26 +0100 Subject: [PATCH] Catch exceptions while disposing --- src/Microsoft.AspNet.Hosting/Program.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.AspNet.Hosting/Program.cs b/src/Microsoft.AspNet.Hosting/Program.cs index 4776c41223..8376913626 100644 --- a/src/Microsoft.AspNet.Hosting/Program.cs +++ b/src/Microsoft.AspNet.Hosting/Program.cs @@ -8,6 +8,7 @@ using System.Threading.Tasks; using Microsoft.Framework.ConfigurationModel; using Microsoft.Framework.DependencyInjection; using Microsoft.Framework.DependencyInjection.Fallback; +using Microsoft.Framework.Logging; using Microsoft.Framework.Runtime; namespace Microsoft.AspNet.Hosting @@ -52,6 +53,7 @@ namespace Microsoft.AspNet.Hosting }; var engine = services.GetRequiredService(); + var loggerFactory = services.GetRequiredService(); var appShutdownService = _serviceProvider.GetRequiredService(); var shutdownHandle = new ManualResetEvent(false); @@ -59,7 +61,15 @@ namespace Microsoft.AspNet.Hosting appShutdownService.ShutdownRequested.Register(() => { - serverShutdown.Dispose(); + try + { + serverShutdown.Dispose(); + } + catch (Exception ex) + { + var logger = loggerFactory.Create(); + logger.WriteError("TODO: Dispose threw an exception", ex); + } shutdownHandle.Set(); });