diff options
Diffstat (limited to 'MediaBrowser.Common.Implementations/BaseApplicationHost.cs')
| -rw-r--r-- | MediaBrowser.Common.Implementations/BaseApplicationHost.cs | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs index eeef6225d..e8acf2975 100644 --- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs +++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs @@ -1,17 +1,17 @@ -using System.IO; -using System.Linq; -using System.Reflection; -using MediaBrowser.Common.Kernel; +using MediaBrowser.Common.Kernel; using MediaBrowser.Model.Logging; using MediaBrowser.Model.Serialization; using SimpleInjector; using System; using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; using System.Threading; namespace MediaBrowser.Common.Implementations { - public abstract class BaseApplicationHost : IDisposable + public abstract class BaseApplicationHost { /// <summary> /// Gets or sets the logger. @@ -314,18 +314,22 @@ namespace MediaBrowser.Common.Implementations /// <param name="dispose"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param> protected virtual void Dispose(bool dispose) { - var type = GetType(); + if (dispose) + { + var type = GetType(); - Logger.Info("Disposing " + type.Name); + Logger.Info("Disposing " + type.Name); - foreach (var part in DisposableParts.Distinct().Where(i => i.GetType() != type).ToList()) - { - Logger.Info("Disposing " + part.GetType().Name); + var parts = DisposableParts.Distinct().Where(i => i.GetType() != type).ToList(); + DisposableParts.Clear(); - part.Dispose(); - } + foreach (var part in parts) + { + Logger.Info("Disposing " + part.GetType().Name); - DisposableParts.Clear(); + part.Dispose(); + } + } } } } |
