diff --git a/src/Umbraco.Core/Cache/HttpRequestCacheProvider.cs b/src/Umbraco.Core/Cache/HttpRequestCacheProvider.cs index 792b5982b1..ac64e88e8a 100644 --- a/src/Umbraco.Core/Cache/HttpRequestCacheProvider.cs +++ b/src/Umbraco.Core/Cache/HttpRequestCacheProvider.cs @@ -146,7 +146,7 @@ namespace Umbraco.Core.Cache #region Insert #endregion - private class NoopLocker : DisposableObject + private class NoopLocker : DisposableObjectSlim { protected override void DisposeResources() { } diff --git a/src/Umbraco.Core/DisposableTimer.cs b/src/Umbraco.Core/DisposableTimer.cs index c7e8874449..dab99584f3 100644 --- a/src/Umbraco.Core/DisposableTimer.cs +++ b/src/Umbraco.Core/DisposableTimer.cs @@ -11,8 +11,8 @@ namespace Umbraco.Core /// /// Starts the timer and invokes a callback upon disposal. Provides a simple way of timing an operation by wrapping it in a using (C#) statement. /// - public class DisposableTimer : DisposableObject - { + public class DisposableTimer : DisposableObjectSlim + { private readonly ILogger _logger; private readonly LogType? _logType; private readonly IProfiler _profiler; @@ -209,13 +209,13 @@ namespace Umbraco.Core loggerType, startMessage(), completeMessage()); - } + } #endregion - - /// - /// Handles the disposal of resources. Derived from abstract class which handles common required locking logic. - /// - protected override void DisposeResources() + + /// + /// Handles the disposal of resources. Derived from abstract class which handles common required locking logic. + /// + protected override void DisposeResources() { if (_profiler != null) { diff --git a/src/Umbraco.Core/Events/EventMessages.cs b/src/Umbraco.Core/Events/EventMessages.cs index 2900f3d471..6348fc0444 100644 --- a/src/Umbraco.Core/Events/EventMessages.cs +++ b/src/Umbraco.Core/Events/EventMessages.cs @@ -5,7 +5,7 @@ namespace Umbraco.Core.Events /// /// Event messages collection /// - public sealed class EventMessages : DisposableObject + public sealed class EventMessages : DisposableObjectSlim { private readonly List _msgs = new List(); diff --git a/src/Umbraco.Core/HashGenerator.cs b/src/Umbraco.Core/HashGenerator.cs index 7306dc9045..bbb06987f2 100644 --- a/src/Umbraco.Core/HashGenerator.cs +++ b/src/Umbraco.Core/HashGenerator.cs @@ -14,7 +14,7 @@ namespace Umbraco.Core /// This will use the crypto libs to generate the hash and will try to ensure that /// strings, etc... are not re-allocated so it's not consuming much memory. /// - internal class HashGenerator : DisposableObject + internal class HashGenerator : DisposableObjectSlim { public HashGenerator() { diff --git a/src/Umbraco.Core/Manifest/ManifestWatcher.cs b/src/Umbraco.Core/Manifest/ManifestWatcher.cs index 24dff148be..e18ec068b6 100644 --- a/src/Umbraco.Core/Manifest/ManifestWatcher.cs +++ b/src/Umbraco.Core/Manifest/ManifestWatcher.cs @@ -6,7 +6,7 @@ using Umbraco.Core.Logging; namespace Umbraco.Core.Manifest { - internal class ManifestWatcher : DisposableObject + internal class ManifestWatcher : DisposableObjectSlim { private readonly ILogger _logger; private readonly List _fws = new List(); diff --git a/src/Umbraco.Core/Persistence/DefaultDatabaseFactory.cs b/src/Umbraco.Core/Persistence/DefaultDatabaseFactory.cs index c27147895c..46c7dae1d9 100644 --- a/src/Umbraco.Core/Persistence/DefaultDatabaseFactory.cs +++ b/src/Umbraco.Core/Persistence/DefaultDatabaseFactory.cs @@ -12,7 +12,7 @@ namespace Umbraco.Core.Persistence /// it will create one per context, otherwise it will be a global singleton object which is NOT thread safe /// since we need (at least) a new instance of the database object per thread. /// - internal class DefaultDatabaseFactory : DisposableObject, IDatabaseFactory2 + internal class DefaultDatabaseFactory : DisposableObjectSlim, IDatabaseFactory2 { private readonly string _connectionStringName; private readonly ILogger _logger; diff --git a/src/Umbraco.Core/Persistence/Repositories/EntityRepository.cs b/src/Umbraco.Core/Persistence/Repositories/EntityRepository.cs index 8f3b65595b..40d35d2fee 100644 --- a/src/Umbraco.Core/Persistence/Repositories/EntityRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/EntityRepository.cs @@ -18,7 +18,7 @@ namespace Umbraco.Core.Persistence.Repositories /// /// This is limited to objects that are based in the umbracoNode-table. /// - internal class EntityRepository : DisposableObject, IEntityRepository + internal class EntityRepository : DisposableObjectSlim, IEntityRepository { private readonly IDatabaseUnitOfWork _work; diff --git a/src/Umbraco.Core/Persistence/Repositories/FileRepository.cs b/src/Umbraco.Core/Persistence/Repositories/FileRepository.cs index 03a8b7e824..32b486f3b5 100644 --- a/src/Umbraco.Core/Persistence/Repositories/FileRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/FileRepository.cs @@ -9,7 +9,7 @@ using Umbraco.Core.Persistence.UnitOfWork; namespace Umbraco.Core.Persistence.Repositories { - internal abstract class FileRepository : DisposableObject, IUnitOfWorkRepository, IRepository + internal abstract class FileRepository : DisposableObjectSlim, IUnitOfWorkRepository, IRepository where TEntity : IFile { private IUnitOfWork _work; diff --git a/src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs b/src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs index f514ee80df..7a9f854679 100644 --- a/src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs +++ b/src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs @@ -10,7 +10,7 @@ using Umbraco.Core.Scoping; namespace Umbraco.Core.Persistence.Repositories { - internal abstract class RepositoryBase : DisposableObject + internal abstract class RepositoryBase : DisposableObjectSlim { private readonly IScopeUnitOfWork _work; private readonly CacheHelper _globalCache; diff --git a/src/Umbraco.Core/Persistence/UnitOfWork/ScopeUnitOfWork.cs b/src/Umbraco.Core/Persistence/UnitOfWork/ScopeUnitOfWork.cs index f8d168cdaa..8d15772fc3 100644 --- a/src/Umbraco.Core/Persistence/UnitOfWork/ScopeUnitOfWork.cs +++ b/src/Umbraco.Core/Persistence/UnitOfWork/ScopeUnitOfWork.cs @@ -10,7 +10,7 @@ namespace Umbraco.Core.Persistence.UnitOfWork /// /// Represents a scoped unit of work. /// - internal class ScopeUnitOfWork : DisposableObject, IScopeUnitOfWork + internal class ScopeUnitOfWork : DisposableObjectSlim, IScopeUnitOfWork { private readonly Queue _operations = new Queue(); private readonly IsolationLevel _isolationLevel; diff --git a/src/Umbraco.Core/Security/BackOfficeUserStore.cs b/src/Umbraco.Core/Security/BackOfficeUserStore.cs index 26c5393bfc..9db8347040 100644 --- a/src/Umbraco.Core/Security/BackOfficeUserStore.cs +++ b/src/Umbraco.Core/Security/BackOfficeUserStore.cs @@ -18,7 +18,7 @@ using Task = System.Threading.Tasks.Task; namespace Umbraco.Core.Security { - public class BackOfficeUserStore : DisposableObject, + public class BackOfficeUserStore : DisposableObjectSlim, IUserStore, IUserPasswordStore, IUserEmailStore, @@ -58,7 +58,7 @@ namespace Umbraco.Core.Security } /// - /// Handles the disposal of resources. Derived from abstract class which handles common required locking logic. + /// Handles the disposal of resources. Derived from abstract class which handles common required locking logic. /// protected override void DisposeResources() { diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index 345ee8da8d..00ff785891 100644 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -348,6 +348,7 @@ + diff --git a/src/Umbraco.Web/Scheduling/LatchedBackgroundTaskBase.cs b/src/Umbraco.Web/Scheduling/LatchedBackgroundTaskBase.cs index e0cda08e47..b3a23d8081 100644 --- a/src/Umbraco.Web/Scheduling/LatchedBackgroundTaskBase.cs +++ b/src/Umbraco.Web/Scheduling/LatchedBackgroundTaskBase.cs @@ -12,7 +12,7 @@ namespace Umbraco.Web.Scheduling /// depending on whether the task is implemented as a sync or async method, and then /// optionnally overriding RunsOnShutdown, to indicate whether the latched task should run /// immediately on shutdown, or just be abandonned (default). - public abstract class LatchedBackgroundTaskBase : DisposableObject, ILatchedBackgroundTask + public abstract class LatchedBackgroundTaskBase : DisposableObjectSlim, ILatchedBackgroundTask { private TaskCompletionSource _latch; diff --git a/src/Umbraco.Web/Security/WebSecurity.cs b/src/Umbraco.Web/Security/WebSecurity.cs index 460ca536eb..dd7e757c8d 100644 --- a/src/Umbraco.Web/Security/WebSecurity.cs +++ b/src/Umbraco.Web/Security/WebSecurity.cs @@ -23,7 +23,7 @@ namespace Umbraco.Web.Security /// /// A utility class used for dealing with USER security in Umbraco /// - public class WebSecurity : DisposableObject + public class WebSecurity : DisposableObjectSlim { private HttpContextBase _httpContext; private ApplicationContext _applicationContext; diff --git a/src/Umbraco.Web/UmbracoContext.cs b/src/Umbraco.Web/UmbracoContext.cs index dbb165a526..3532575f38 100644 --- a/src/Umbraco.Web/UmbracoContext.cs +++ b/src/Umbraco.Web/UmbracoContext.cs @@ -20,7 +20,7 @@ namespace Umbraco.Web /// /// Class that encapsulates Umbraco information of a specific HTTP request /// - public class UmbracoContext : DisposableObject, IDisposeOnRequestEnd + public class UmbracoContext : DisposableObjectSlim, IDisposeOnRequestEnd { internal const string HttpContextItemName = "Umbraco.Web.UmbracoContext"; private static readonly object Locker = new object(); diff --git a/src/umbraco.cms/businesslogic/Packager/Repositories/Repository.cs b/src/umbraco.cms/businesslogic/Packager/Repositories/Repository.cs index 28cc814a02..8609504313 100644 --- a/src/umbraco.cms/businesslogic/Packager/Repositories/Repository.cs +++ b/src/umbraco.cms/businesslogic/Packager/Repositories/Repository.cs @@ -14,7 +14,7 @@ using Umbraco.Core.IO; namespace umbraco.cms.businesslogic.packager.repositories { [Obsolete("This should not be used and will be removed in future Umbraco versions")] - public class Repository : DisposableObject + public class Repository : DisposableObjectSlim { public string Guid { get; private set; } @@ -289,7 +289,7 @@ namespace umbraco.cms.businesslogic.packager.repositories } /// - /// Handles the disposal of resources. Derived from abstract class which handles common required locking logic. + /// Handles the disposal of resources. Derived from abstract class which handles common required locking logic. /// protected override void DisposeResources() {