⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configuration.cs

📁 ASP.NET简洁论坛源代码 这是一个简单的论坛
💻 CS
字号:
using System;
using System.Configuration;
using System.Collections;
using System.IO;
using System.Reflection;
using System.Web;
using System.Web.Caching;
using System.Xml;
using System.Text.RegularExpressions;
using NetFocus.Web.Core;

namespace NetFocus.Web.Applications.Forum 
{
    public class Configuration
    {
        #region Private Members

        private string defaultLanguage;
        private string urlsFile;
        private string forumSectionAdminRoleName;
        private Hashtable providers;
        private static Configuration instance;

        #endregion

        #region Singleton

        private Configuration()
        { 
            Initialize(ConfigurationManager.GetSection("siteConfig") as XmlNode);
        }
        public static Configuration Instance
        {
            get
            {
                if (instance == null)
                {
                    instance = new Configuration();
                }
                return instance;
            }
        }

        #endregion

        #region Public Properties

        public string DefaultLanguage
        {
            get
            {
                return defaultLanguage;
            }
        }
        public string UrlsFile
        {
            get
            {
                return urlsFile;
            }
        }
        public string ForumSectionAdminRoleName
        {
            get
            {
                return forumSectionAdminRoleName;
            }
        }
        public Hashtable Providers
        {
            get
            {
                return providers;
            }
        }

        #endregion

        #region Helpers

        private void Initialize(XmlNode configSection)
        {
            if (configSection == null)
            {
                return;
            }

            XmlAttributeCollection attributeCollection = configSection.Attributes;

            XmlAttribute att = attributeCollection["defaultLanguage"];
            if (att != null)
            {
                defaultLanguage = att.Value;
            }
            else
            {
                defaultLanguage = "zh-CN";
            }
            att = attributeCollection["siteUrlsFile"];
            if (att != null)
            {
                urlsFile = att.Value;
            }
            else
            {
                urlsFile = @"Urls.config";
            }
            att = attributeCollection["forumSectionAdminRoleName"];
            if (att != null)
            {
                forumSectionAdminRoleName = att.Value;
            }
            else
            {
                forumSectionAdminRoleName = "版主";
            }

            GetProviders(configSection);
        }

        private void GetProviders(XmlNode configSection)
        {
            providers = new Hashtable();
            foreach (XmlNode child in configSection.ChildNodes)
            {
                if (child.Name == "providers")
                {
                    foreach (XmlNode provider in child.ChildNodes)
                    {
                        switch (provider.Name)
                        {
                            case "add":
                                providers.Add(provider.Attributes["name"].Value, new ProviderData(provider.Attributes));
                                break;
                            case "remove":
                                providers.Remove(provider.Attributes["name"].Value);
                                break;
                            case "clear":
                                providers.Clear();
                                break;
                        }
                    }
                }
            }
        }

        #endregion
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -