public override void Dispose() { var aggregator = new ExceptionAggregator("Could not dispose Storage test."); aggregator.Execute(() => { if (_storageEnvironment.IsValueCreated) { _storageEnvironment.Value.Dispose(); } _storageEnvironment = null; }); aggregator.Execute(() => { Options?.Dispose(); Options = null; }); aggregator.Execute(() => { IOExtensions.DeleteDirectory(DataDir); }); aggregator.ThrowIfNeeded(); GC.Collect(GC.MaxGeneration); GC.WaitForPendingFinalizers(); }
public virtual void Dispose() { _storageEnvironment?.Dispose(); _options.Dispose(); _allocator.Dispose(); DeleteDirectory(DataDir); _storageEnvironment = null; _options = null; _allocator = null; GC.Collect(GC.MaxGeneration); GC.WaitForPendingFinalizers(); }
public virtual void Dispose() { if (_storageEnvironment != null) { _storageEnvironment.Dispose(); } _options.Dispose(); DeleteDirectory("test.data"); _storageEnvironment = null; _options = null; GC.Collect(GC.MaxGeneration); GC.WaitForPendingFinalizers(); }
public static StorageEnvironment OpenEnvironment(StorageEnvironmentOptions options) { try { if (options is StorageEnvironmentOptions.DirectoryStorageEnvironmentOptions directoryOptions) { return(OpenEnvironmentInternal(directoryOptions)); } return(new StorageEnvironment(options)); } catch (Exception) { options.Dispose(); throw; } }
public static StorageEnvironment OpenEnvironment(StorageEnvironmentOptions options, StorageEnvironmentWithType.StorageEnvironmentType type) { try { if (options is StorageEnvironmentOptions.DirectoryStorageEnvironmentOptions directoryOptions) { return(OpenEnvironmentWithPossibleLayoutUpdate(directoryOptions, type)); } return(new StorageEnvironment(options)); } catch (Exception) { options.Dispose(); throw; } }