Example #1
0
        private static void LoadProviders()
        {
            // Avoid claiming lock if providers are already loaded
            if (_provider == null)
            {
                lock (_lock)
                {
                    // Do this again to make sure _provider is still null
                    if (_provider == null)
                    {
                        MenuProviderSection section = (MenuProviderSection)ConfigurationManager.GetSection("MenuProvider");
                        if (section == null)
                        {
                            throw new ConfigurationErrorsException("在配置文件中没找到“MenuProvider”节点");
                        }

                        SqlMenuProvider pro = new SqlMenuProvider();

                        _providers = new MenuProviderCollection();
                        ProvidersHelper.InstantiateProviders(section.Providers, _providers, typeof(MenuProvider));

                        _provider = _providers[section.DefaultProvider];

                        if (_provider == null)
                        {
                            throw new ProviderException
                                      ("没有找到对应的 MenuProvider");
                        }
                    }
                }
            }
        }
        private static void LoadProviders()
        {
            // Avoid claiming lock if providers are already loaded
            if (_provider == null)
            {
                lock (_lock)
                {
                    // Do this again to make sure _provider is still null
                    if (_provider == null)
                    {
                        MenuProviderSection section = (MenuProviderSection)ConfigurationManager.GetSection("MenuProvider");
                        if (section == null)
                            throw new ConfigurationErrorsException("�������ļ���û�ҵ���MenuProvider���ڵ�");

                        SqlMenuProvider pro = new SqlMenuProvider();

                        _providers = new MenuProviderCollection();
                            ProvidersHelper.InstantiateProviders(section.Providers, _providers, typeof(MenuProvider));

                        _provider = _providers[section.DefaultProvider];

                        if (_provider == null)
                            throw new ProviderException
                                ("û���ҵ���Ӧ�� MenuProvider");

                    }
                }
            }
        }