예제 #1
0
        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;
                }
            }
        }
예제 #2
0
        /// <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;
            }
        }