Пример #1
0
        public void Reset()
        {
            lock (_syncLock)
            {
                // Keep the root node.

                var rootNode = _currentState.RootNode;

                try
                {
                    // Build again.

                    _newState = new SiteMapProviderState();
                    AddNode(rootNode);
                    BuildStaticSiteMap(rootNode);
                    _newState.RootNode = rootNode;

                    // New state has been successfully generated so use it.

                    _currentState = _newState;
                }
                finally
                {
                    // Don't leave in a partial state.

                    _newState = null;
                }
            }
        }
Пример #2
0
        private void BuildStaticSiteMap()
        {
            // Build.

            try
            {
                _newState          = new SiteMapProviderState();
                _newState.RootNode = CreateRootNode();
                BuildStaticSiteMap(_newState.RootNode);

                // New state has been successfully generated so use it.

                _currentState = _newState;
            }
            finally
            {
                // Don't leave in a partial state.

                _newState = null;
            }
        }