private void CheckInitialized() { if (m_initialized) { return; } lock (m_thisLock) { if (m_initialized) { return; } if (0 == StringComparer.OrdinalIgnoreCase.Compare("demo", m_settings.InitializationCommand)) { m_descriptor = BuildDemoContainerDescriptor(); } else if (m_settings.Descriptor != null) { m_descriptor = m_settings.Descriptor; } else { m_descriptor = GetDescriptorFromStore(); } if (m_descriptor != null) { m_dataContainer = new DataContainer(m_tracer, m_descriptor, m_settings.StorageRoot); m_initialized = true; } } }
/// <summary> /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. /// </summary> /// <filterpriority>2</filterpriority> public void Dispose() { m_initialized = false; if (m_dataContainer != null) { m_dataContainer.Dispose(); m_dataContainer = null; } }