We have moved to GitHub Issues
Created by Shannon Deminick 10 Jan 2018, 01:58:01 Updated by Shannon Deminick 12 Jan 2018, 01:44:02Tags: Unscheduled
Subtask of: U4-9432
As it turns out our DisposableObject used implemented the IDisposable pattern recommended quite some time ago which includes defining a finalizer, in recent times it's noted that this is a bad thing to do if you don't need a finalizer, even if you are calling GC.SupressFinalize, here's a great writup with links to the new IDisposable pattern docs: https://our.umbraco.org/forum/extending-umbraco-and-using-the-api/89940-stay-away-from-umbracocoredisposableobject
In (IIRC) all cases in Umbraco we aren't using any unmanaged resources so we don't need a finalizer at all. We should create a new DisposableObjectSlim which does the same thing as DisposableObject but without the finalizer pattern and use that for all of our objects. In theory this should speed things up.
DisposableObject, which means I had to remove the unneeded finalizer.
DisposableObjectwith the slim version.
Backwards Compatible: True
Due in version: 7.8.0
Sprint: Sprint 76
Story Points: 0.5