public void Dispose() { _trackedObjects.Each((trackedItem) => { //free disposable items _handlerFactory.Release(trackedItem); if (_logger != null) { _logger.DebugFormat("Releasing handler instance {0} of type {1}", trackedItem.GetHashCode(), trackedItem.GetType()); } }); _trackedAsyncObjects.Each(trackedItem => { //free disposable items _asyncHandlerFactory.Release(trackedItem); if (_logger != null) { _logger.DebugFormat("Releasing async handler instance {0} of type {1}", trackedItem.GetHashCode(), trackedItem.GetType()); } }); //clear our tracking _trackedObjects.Clear(); _trackedAsyncObjects.Clear(); }
public void Dispose() { _trackedObjects.Each((trackedItem) => { //free disposable items _handlerFactory.Release(trackedItem); s_logger.LogDebug("Releasing handler instance {InstanceHashCode} of type {HandlerType}", trackedItem.GetHashCode(), trackedItem.GetType()); }); _trackedAsyncObjects.Each(trackedItem => { //free disposable items _asyncHandlerFactory.Release(trackedItem); s_logger.LogDebug("Releasing async handler instance {InstanceHashCode} of type {HandlerType}", trackedItem.GetHashCode(), trackedItem.GetType()); }); //clear our tracking _trackedObjects.Clear(); _trackedAsyncObjects.Clear(); }